S3 storage for active config.

Usage:
config = ActiveConfig.new(s3: {
  bucket: <bucket>,
  aws_access_key_id: <aws_access_key_id>,
  aws_secret_access_key: <aws_secret_access_key>
})

This assumes that configuration is stored on S3 in the same way it's stored under config dir.
S3 key is a filename including .yml extension, S3 value is the contents of the file.
Best used with a separate bucket for configuration because it does not support any path/nesting.

Also in this commit:
- test suite for s3 configuration with s3 mocks