Replace S3 Credentials a boto's Provider type

This exploits the property that the 'creds' object is opaque to most
of WAL-E, except backend-specific portions.  boto's 'Provider' type is
similar enough to be used in the same way

In addition, the "provider" abstraction supports more features, such
as automatic credential refreshing when using IAM instance profile
support.

Editorialized by Daniel Farina <daniel@heroku.com>
Add support for AWS IAM Instance Profiles

By using the command line option --aws-instance-profile, WAL-E can
request and use credentials from the instance metadata.  This option
has high precedence and is mutually exclusive with assigning one's own
AWS credentials.

Editorialized by Daniel Farina <daniel@heroku.com>
Support blackbox testing of IAM instance profiles, sort of

"Sort of" refers to the fact that internal contracts in Boto are
monkeypatched in order to fake having an instance profile set-up,
using real, live STS-generated credentials to fill in the blanks.
Add Matthew Hooker as a contributor
Change open file mode from `rwb` to `r+b`

This manifested as a bug on FreeBSD.

The goal is to get a readable, writable file in "binary" mode (not
it's likely Windows is going to work).  But, spelling that mode "rwb"
seems to be platform specific one.

This way of specifying the mode is not documented by Python, which
prefers "r+" to spell out this intention:
http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files
Add Petar Radosevic as a contributor
Fix spelling error

Reported by Ramusus <ramusus@gmail.com>
Use s3-external-1 endpoint for us-standard

This is the endpoint in us-east-1, where most instances are.  This is
not being applied to the v0.6 maintenance releases to avoid changing
behavior for those who are closer to Seattle.
Elide other backends besides S3 in requirements.txt

It's not clear how to make things cleanly optional but not a usability
nightmare (e.g. installing *no* backends by default for 'pip install'
based people) within the Python packaging framework, so don't try..for
now.