AWS IAM userless key management

implement mocks for create_acces_key, list_access_keys,
update_access_keys

support fog.access_keys without specifying user as amazon does:
http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html
[aws|storage] ensure connection uses correct scheme, host and port

Currently, the `:scheme`, `:host` and `:port` are determined in
`#request_params` and passed as request parameters. However, passing
these as request parameters does not override the URI used to establish
the connection, which is used by Excon for the underlying socket.
Excon now considers these to be invalid request parameters.

This patch defers establishing the connection until the proper URI is
known, while still allowing the `:persistent` option to work as long as
the URI doesn't change.
Merge pull request #2283 from engineyard/iam_stuff

AWS IAM userless key management
Merge pull request #2281 from burns/aws_storage_connection

[aws|storage] ensure connection uses correct scheme, host and port
corrected name of edgegateway generator
Merge pull request #2286 from alphagov/fixing_generator_name

corrected name of edgegateway generator
[rackspace|block_storage] fixing merge issue
Merge pull request #2290 from rackspace/merge_fix

[rackspace|block_storage] fixing merge issue
Merge branch 'master' of github.com:fog/fog