Use :default from tests/.fog for test credentials

This prevents new test users from being afraid that their real accounts
may be used for fog testing when running tests without mocking.

See also #1218
Only run mocked tests by default

This allows tests to run and pass without requiring network access or
credentials to services the user does not have.

See also #1218
Add a new exception class and handled exceptions in exception messages.
Add request method for put_shared_object. Add model and collection for shared_directory and shared_file.
Refactor common code into separate method.
Fix mock for put_container to reflect new acl changes.
[Brightbox] Reuses connection for image selection

Fixes #1214 - Server initialisation failed unless you had a configuration
file because it tried to create a second connection directly using the
config details.

We now get access to the 'connection' that exists and use that so it is
already configured and authenticated.
Merge pull request #1220 from drbrain/fog_test_credetials_fix

Use test-only credentials for tests, avoid unmocked tests by default
Update lib/fog/vsphere/requests/compute/vm_clone.rb

Made requested changes and typo fix. Added backwards compatibility for options['path'] on vm_clone(). New recommended option is options['template_path']. 
Update lib/fog/vsphere/requests/compute/vm_clone.rb

Refactored resource_pool settings. 
changed list nova servers request to get details
Rolled back deletion guard as some may be using the exception raised in their code
Changed Atmos::FIle.public_url so an exception is thrown if the file doesn't exist on the cloud storage
Tested handling of Openstack server created and updated times
[aws|ec2] describe_availability_zones parser handles nested <item> tags

This patch fixes the parser so there is no empty {'messageSet' => []}
value.

At the moment, AWS is returning a body like that is incorrectly parsed:

     <availabilityZoneInfo>
        ...
        <item>
            <zoneName>us-east-1b</zoneName>
            <zoneState>impaired</zoneState>
            <regionName>us-east-1</regionName>
            <messageSet>
                <item>
                    <message>We have restored the ability to launch new
EC2 instances in this Availability Zone. At this point, customers
should be able to launch instances in any Availability Zone in the
US-EAST-1 region. We are continuing to restore impaired volumes and
their attached instances.</message>
                </item>
            </messageSet>
Merge pull request #1217 from endzyme/patch-1

Update lib/fog/vsphere/requests/compute/vm_clone.rb
Changed Atmos::FIle.public_url so returns nil if the file doesn't exist on the cloud storage.  This brings the method in line with other storage implementations such as AWS and Rackspace
Merge pull request #10 from SDK-CLI-Docs/feature/93_cross_tenant_acls

Feature/93 cross tenant acls
Merge pull request #1219 from drbrain/openstack_server_add_created_updated

Added OpenStack::Server#created and #updated
added documentation.