[vsphere] add list_templates function
[vsphere] add get_template function
Vsphere: add options of numCPUs and memoryMB for VM clone
delete vms that is not ready for vm.config, e.g. during the creation period
merged fog HEAD, deleting whitespaces
delete whitespaces
fix issues in checking whether VM is of template type
[rackspace] updated NotFound exceptions to include region when available.
[rackspace] correcting exception classes on YARD docs
[rackspace|storage] updated storage and cdn services to wrap excon exceptions in the same manner as the other Rackspace services.
[rackspace] fixing delete image tests
[rackspace] updated ServiceException to catch JSON decoding exception and display a warning message.
[rackspace|dns] updated DNS service to use Fog::DNS::Rackspace::NotFound exceptions in keeping with the rest of the services.
AWS | storage: use #service instead of the deprecated #connection in the tests
AWS | storage: add tests for directory#public_url
AWS | storage: add more uniq_id in the tests to avoid collisions
AWS | storage: disabling broken tests
AWS | storage: make directory.persisted? tell the truth

directory.persisted? was relying on the directory having a key which is almost
always true and not related to storage anyways.
AWS | storage: fixes ignored location with new buckets

When creating a new directory the location wasn't forwarded properly.

Something like the following is now working as expected (see limitation below):

    Fog::Storage[:aws].directories.create(key: 'bucket', location: 'us-west-1')

It also changes the following behaviour: when no location is specified new
buckets are explicitly created in the same region as the service connection.

Known limitations:

Fog::AWS::Directory instance don't use their location to connect to S3.

If you're using an AWS::Storage with a region different than us-east-1 you
can only create buckets in the same region.
AWS | storage: big refactor

Logics have been centralised:

* region to hostname
* url generation
* signature
* chaning scheme also changes the port

During the process a couple of inconsistencies have also
been fixed.

Known limitations:

When using the @endpoint with a custom port you need to specify the port
when using get_object_http_url or get_object_https_url.

When using bucket names that contain dots outside of us-east-1 make sure to
access it with the same region in your AWS::Storage.