Significant refactor to consume untranslated API definitions.

Major changes:
* A Seahorse::Model now consumes the raw AWS API descriptions.
* Added support for recursive shapes.
* Added support for shape references.
* Added EndpointProvider with a default set of rules for building regional endpoints.
* Removed API translator.
* Now exposing all types as shapes, no longer reducing them
  down to Ruby native types (e.g. integer & long, string & char)
Added support to Aws::S3 for server-side encryption with customer-provided keys.
Added support to Aws::ElasticTranscoder for captions.
Added taggign support to Aws::ElasticBeanstalk client.
Added support to Aws::EMR for service roles.
Added support to Aws::OpsWorks for RDS instances.
Doc updates for Aws::Redshift.
Added support for message attributes to the Aws::SNS client.
Updated Aws::STS API model.
Removed required trait Aws::Route53 for create health check ip address.
Updated Aws::EC2 client from 2014-02-01 to 2014-05-01 API version.
Added support to Aws::CloudFront for the new 2014-05-01 API version.
Merge branch 'master' into normalized

Conflicts:
	README.md
	apis/DynamoDB-2012-08-10.json
	apis/ElasticBeanstalk-2010-12-01.json
	apis/OpsWorks-2013-02-18.json
	apis/Redshift-2012-12-01.json
	apis/S3-2006-03-01.json
	apis/SNS-2010-03-31.json
	apis/source/elasticbeanstalk-2010-12-01.json
	apis/source/opsworks-2013-02-18.json
	apis/source/redshift-2012-12-01.json
	apis/source/s3-2006-03-01.json
	apis/source/sns-2010-03-31.json
	doc-src/plugins/apis.rb
	features/cloudtrail/client.feature
	lib/aws.rb
	lib/aws/api/service_translators/s3.rb
	lib/aws/error_handler.rb
	lib/aws/query/builder.rb
	lib/aws/signers/v4.rb
	lib/aws/version.rb
	spec/aws/operations_spec.rb
	spec/aws/query/builder_spec.rb
	vendor/seahorse/lib/seahorse/client/plugins/endpoint.rb
	vendor/seahorse/lib/seahorse/client/plugins/operation_methods.rb
Removed some left-over models from the apis/source directory.
Added support for a customized EC2 protocol.

The EC2 protocol is based on query, but has specialized
rules for serialization.  The API model has undergone a few
updates to enable to it be full normalized and still describe
the API correctly.

This currently lacks unit tests and not suitable for shipping.
Moved paging logic into its own module, Aws::Paging.

Additionaly extracted a few more useful classes including
Paging::NullPager, Paging::NullProvider.
Removed an unsed function in the api documentation plugin.
The endpoint provider now returns nil when an endpoint can not be resolved.
Added EndpointProvider#prepend_all

Prepends an endpoint rule for every service.
Removed the bundle ca file.

Users will need to ensure their system is correctly configured with the
proper open ssl ca bundle for HTTPS peer verification to work.