---------------------------------------------------------------------
* This is a major release which contains many improvements and some breaking
changes to the interface, but the changes are fairly straightforward.
* Support for Google Cloud (thanks to mbookman, chiniforooshan, baizhang)
* Support for middleware, event listening and interception, allowing
CloudBridge to be extended without needing to modify library code (This is
also potentially useful for handling corner cases for specific clouds).
* The mock provider is now available by default as a standard cloud provider,
which is useful for testing applications that use CloudBridge.
* Providers now operate in a single zone, and therefore, all methods that
previously required the zone as a parameter no longer do. Specifically,
``instance.create()``, ``volume.create()``, ``subnet.create``,
``subnet.get_or_create_default()`` are affected in services,
and ``snap.create_volume`` is affected in resources. The provider's default
zone must now be specified through the provider config.
* All exceptions that are generated by CloudBridge will now extend from
``CloudBridgeBaseException``
* The cloud package is deprecated and everything under it has been moved
one level up. For example, instead of
``from cloudbridge.cloud.factory import CloudProviderFactory`` use
``from cloudbridge.factory import CloudProviderFactory``.
* Services are much more uniform now, and sub-services have been introduced
for greater uniformity. For example, ``net.create_subnet()`` is now
``net.subnets.create()``
* ``gateways.get_or_create_inet_gateway()`` is now simply
``gateways.get_or_create()``
* AWS instance types are now served through Amazon CloudFront for better
performance.
* Miscellaneous bug fixes and improvements.