Support Amazon S3 as a file storage backend.

There's a haskell library that looks good. Not yet in Debian.

Multiple ways of using S3 are possible. Currently implemented as 
a special type of git remote.

Before this can be close, I need to fix:

## encryption

TODO

## unused checking

One problem is `git annex unused`. Currently it only looks at the local
repository, not remotes. But if something is dropped from the local repo,
and you forget to drop it from S3, cruft can build up there.

This could be fixed by adding a hook to list all keys present in a remote.
Then unused could scan remotes for keys, and if they were not used locally,
offer the possibility to drop them from the remote.

[[done]]
