Added default security group to the OpenStack compute mocks.
OpenStack server creation mock now stores the security groups for the
created server.
OpenStack security group mock deletion now deletes created security
groups.
OpenStack security group mock list now accepts a server id like the real
implementation.
OpenStack returns the user_id, not the username, in the
list_servers_detail response. This commit looks up or creates a user
to retrieve its id so it matches real OpenStack behavior.
Previously the mocks would return the same data as list_servers_detail.
OpenStack does not return all of this data so you must reload a server
after creation to get the necessary data when using fog for real.
Now the mock returns the same detail as the real call with the extra
detail stored in the mock data for retrieval by list_servers_detail.
Nova has a `ZoneScheduler` that can run instances on a particular set of
hardware. This attribute hasn't been documented in the api spec, but is
effective at setting the availability_zone and letting ZoneScheduler work.