[openstack] Show an error message when there aren't any endpoints available for a region
Bug fix: Ensure Fog::VERSION gets defined

In an application where the constant VERSION is defined at global scope, Fog::VERSION would not get defined; causing a failure in core/connection.rb 

So specify false for the second argument to const_defined? to restrict it to local scope.
[openstack] Show an error message when there aren't any endpoints available for a region
Merge branch 'fix-regions' of github.com:frodenas/fog into fix-regions
[openstack|identity] Update User Role Membership Mocks

Signed-off-by: Nelvin Driz <nelvindriz@live.com>
Merge pull request #1348 from Keoven/update/openstack-user-role-mocks

[openstack|identity] Update User Role Membership Mocks
[Brightbox] Add ServerGroup attribute in CloudIP model
remove const_defined? guard

The guard isn't really necessary in practice, and as per the previous checkin it was incorrect if ::VERSION was defined; but the fix in the previous checkin didn't work on ruby 1.8.7
Merge pull request #1349 from brightbox/fix_missing_attribute

[Brightbox] Add ServerGroup attribute in CloudIP model
Merge pull request #1342 from ronen/patch-1

Bug fix: Ensure Fog::VERSION gets defined
OpenStack create_server mocks now match reality

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.
Added missing HostMetrics model

Added missing HostMetrics model that wraps Host.metrics OpaqueRef.

  conn = Fog::Compute.new({
    :provider => 'XenServer',
    :xenserver_url => 'xenserver-test',
    :xenserver_username => 'root',
    :xenserver_password => 'secret',
  })

  pp conn.hosts.first.metrics # => yields

  #  <Fog::Compute::XenServer::HostMetrics
  #    reference="OpaqueRef:161923b3-47e4-7f8c-8995-3030be9d58f8",
  #    uuid="00d47697-3682-1e91-154b-00116a5b7878",
  #    live=true,
  #    memory_free="3311230976",
  #    memory_total="4217688064",
  #    other_config={},
  #    last_updated=2012-12-06 21:19:59 UTC
  #  >
[xenserver] Added HostMetrics tests
Added mock for Fog::Identity#get_user_by_name

OpenStack does not support filtering by name as in the real method so
the mock returns all users regardless of the name query parameter.  See:

http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listUsers_v2.0_users_Admin_API_Service_Developer_Operations-d1e1356.html
Correct the Blue Box create_block method to check for ssh_public_key, not public_key
Removed extra whitespace from previous commit
Store the user_id in the server mock data

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.
Added SIGINT handler to the fog console

Previously ^C would exit the fog console.

Now ^C is handled and ^D, exit or quit must by typed to exit the
console.  This fixes a major personal annoyance of mine as the fog
console did not behave like IRB or like the shell when you wanted to use
^C to clear what you had just typed.
Correct the docs for the ssh_public_key option
[openstack|identity] replace to_json with Fog::JSON.encode

Refs #1338