implements the public_url feature for openstack storage
Merge pull request #3228 from anynines/openstack_public_url

implements the public_url feature for openstack storage
Preserve @ symbols in vcloud_director usernames

It's valid to have an email address as a vCloud Director username which
would result in a `vcloud_director_username` string that looks like:

    user@example.com@organisation

The previous code incorrectly stripped any @ symbols from the username which
would turn the previous example into:

    fog_credential_user = 'userexample.com'
    fog_credential_org = 'organisation'

This meant that check_session_matches_credentials() would always raise an
error for such usernames. Prevent this from happening by restoring the @
separators when we join the array back together (minus the org).

Fixes an error reported in gds-operations/vcloud-core#139
Merge pull request #3229 from dcarley/preserve_at_sym_in_vcloud_director_usernames

Preserve @ symbols in vcloud_director usernames
[rackspace] Queues: makes block optional when dequeuing
Added docs/tests for Storage's public_url
Merge pull request #3230 from josuelima/optional_block

[rackspace] Queues: makes block optional when dequeuing
Merge pull request #3231 from mdarby/storage_directory_test_and_doc

Added docs/tests for Storage's public_url
[AWS|Core] add eu-central-1 to the region whitelist
[AWS|Compute] switch to signature version 4
[AWS|Signature] make signature v4 components easy to extract
[AWS|Signature] V4 parameter signature needs to add X-Amz-Credential etc. before signing
[AWS|S3] Vhost buckets don't work if bucket name has a . in it

the S3 wildcard cert is only valid for *.s3.amazonaws.com, not
foo.*.amazonaws.com
[AWS|S3] switch to signature v4
[AWS|IAM] Use signature version 4
[AWS|ELB] Use Signature v4
[AWS|ELB] Update list of regions the mocks allow
[AWS|RDS] Use Signature v4
[AWS|RDS] update list of regions accepted by mocks
[AWS|Cloudwatch] Use Signature v4