Mixin my class family's Collection module up to Fog::Service's

Fog was not designed to support class families under Fog::Service.
For most cloud providers, this is perfectly understandable.
OpenStack-based providers, however, need the ability to share
code. Otherwise what ensues is the kind of copypasta that we've
seen between the OpenStack, Rackspace, and HP providers.

This fill mixins each dynamically generated Collections module,
per service, walking up the class family until it finds
Fog::Service.
This allows for the "TNG" effort between Rackspace and HP to
implement Fog::Service < Fog::OpenStackCommon:IdentityVx <
Fog::Rackspace::IdentityVx and allowing for full reuse at the
leaf classes in the class family.
Adds test demonstrating old and new Collections mixin behavior
Merge pull request #38 from fog/service_class_family

Mixin my class family's Collection module up to Fog::Service's