Each service now hash a top-level configuration entry.

Each service now has a config option, for example:

    AWS.config.s3
    #=> {}

You can specify the value like any other configuration option:

    AWS.config(:s3 => { 'abc' => 'xyz' })

These values are not yet used anywhere.  They will eventually
be merged with the root level configuration options when building
a client.
You can now specify endpoint, region and port per service via AWS.config(:svc => { ... })

You can specify global options per service now using the new configuration options.
Example:

    AWS.config(:s3 => { :region => 'us-west-2' })

    AWS::S3.new.config.s3_region
    #=> 'us-west-2'
Renamed helper methods for AWS::SimpleEmailService and AWS::SimpleWorkflow.

To be consistent with other services that use the official service abbreviation,
the helper methods on `AWS` and `AWS::Core::Region` now use the short names for
`AWS::SimpleEmailService` and `AWS::SimpleWorkflow`.

    # new methods
    AWS.ses
    AWS.swf
    AWS.regions['us-west-2'].ses
    AWS.regions['us-west-2'].swf

    # deprecated methods
    AWS.simple_email_service
    AWS.simple_workflow
    AWS.regions['us-west-2'].simple_email_service
    AWS.regions['us-west-2'].simple_workflow

Additionally global configuration options use the short name.

    AWS.config(:ses => {...})
    AWS.config(:swf => {...})
Updated documentation for service helpers.
Updated specs to use the new AWS::SERVICES format.
Allow setting hash_key to values other than id
Allow setting hash_key

When creating the dynamo_db_table instance the hash_key defaults to id.
This patch allows assigning a string attribute as the id.
Fix bug with hash_key
Merge pull request #295 from aws/service-specific-configuration

Add service specific options to AWS.config
Added support for watermarks to AWS::ElasticTranscoder::Client.
Fixed the copyright dates in two files.
Bump version to 1.12.0
AWS::DynamoDB::Client now supports both Amazon DynamoDB API versions.

`AWS::DynamoDB::ClientV2` is now deprecated.  Instead of using this class, you can
construct a client of a specific version like so:

    ddb = AWS::DynamoDB::Client.new(:api_version => '2012-08-10')

Constructing a client without an API version returns a client of the oldest
version.  This ensures existing users of AWS::DynamoDB::Client will not experience
runtime errors from the differences.

This works by turning AWS::DynamoDB::Client.new into a factory method.  It returns
an instance of Client::V20111005 or Client::V20120810 based on the :api_version
option.
Added documentation to the versioned DynamoDB::Clients.
Documented the DynamoDB client with instructions on using the :api_version option.
Fixed an issue constructing clients from their versioned class.
You can now configure a global default API version.

If you want to specify the default API version, you can do so
using AWS.config:

    # normally defaults to 2011-12-05
    AWS::DynamoDB::Client.new
    #=> AWS::DyanmoDB::Client::V20111205

    AWS.config(:dynamo_db => { :api_version => '2012-08-10')

    # now defaults to 2012-08-10
    AWS::DynamoDB::Client.new
    #=> AWS::DyanmoDB::Client::V20120810
Added a -e option to aws-rb.

You can now execute commands using aws-rb.  Passing commands
with the -e option will prevent the REPL from launching and will
exit instead.  You can pass multiple -e options.

    aws-rb -q -e "puts AWS.s3.buckets.map(&:name)"

The script above would put the name of each bucket to STDOUT and
then exit.  The -q flag (quiet) disables logging.
Read credentials from AWS_CREDENTIAL_FILE environment variable.
Passing the -e flag to aws-rb now defaults quiet mode.