fixed passed in connections options blown away
whitespace...
restored gemfile
more ws
make service discovery consume the version key
disable unimplemented requests in v1
[ServiceDiscovery] Now requires OSC services lazily

* Services are now treated as plugins
  * Services register with ServiceDiscovery
  * Registration is explicit: responsibility belongs to Service to
    self-register
* Currently only supports OSC
  * TODO: Add mutator to register providers, e.g. rackspace, hp
  * provider name could then be used in the require path for the
    service
  * Would attempt to load from OSC then OSC providers as registered

Guiding philosophy: Services should encapsulate information about their
discovery as much as possible.  Spreading information about a single
Service across multiple classes makes OSC harder to maintain.

Downside: ServiceDiscovery becomes a bit more complex.

Please bear in mind that minimal refactoring has been done at this
point.  There are a bunch of public class methods to be moved around
later if we go this route.
* Change access to a couple of methods to be private
* YARD doc'd the public class methods
Merge pull request #22 from fog/require_in_discovery

[ServiceDiscovery] Now requires OSC services lazily
Merge branch 'master' into feature/disable_unimplemented_requests
Merge pull request #21 from fog/feature/disable_unimplemented_requests

disable unimplemented requests in v1
Merge branch 'master' into feature/service_disco_consume_version

Conflicts:
	lib/fog/openstackcommon/service_discovery.rb
fix after merge
oops
Merge pull request #20 from fog/feature/service_disco_consume_version

make service discovery consume the version key
Merge branch 'master' into bug/connection_options_blown_away
simplify calling conventions on identity#new
Merge pull request #19 from fog/bug/connection_options_blown_away

Bug:  passed in conn options get blown away....
WIP this doesn't work yet
Because the same service may exist in multiple providers, e.g.
IdentityV2 will be in both Rackspace and HP, it became necessary
for the ServiceDiscovery to register the provider's name when
registering the "base_provider_path".

What also shook out of this is that "base_provider" probably
only needs to be stated once: when the provider is registered
with ServiceDiscovery.

Now, providers register with a single call as follows:

```ruby
ServiceDiscovery.register_provider(
	'openstackcore',
	'Fog::OpenStackCore',
	'the/path/to/osc/services'
)
```

and ServiceDiscovery is now instantiated as follows:

```ruby
ServiceDiscovery.new('openstackcore', 'identity', options_hash)
```