Improve call stack usage in SequentialExecutor.callListeners()

Converts recursive loop to sequential one for synchronous listeners.
Allow SDK errors to be thrown out of final request callback.

Fixes #392, referencing #74.
Refactor domain support logic out of SequentialExecutor

It is only used by AWS.Request's state machine implementation.
Send ArrayBufferView objects by default.

Only fallback to sending ArrayBuffers when sending of body fails
(for legacy browser support).

Fixes #391
Fix loading of services in console.html sample
Switch EC2/RDS API configs to SigV4
Refactor region configuration logic
Fix VolumeDeleted waiter

Check for an invalid volume error response from EC2 instead of the
"deleted" status code, which does not show up for a long enough
period of time.

Fixes #389
Merge pull request #393 from aws/fix/send-typed-arrays

Send ArrayBufferView objects by default.
Document that aws-sdk works with browserify.
Merge pull request #394 from konklone/browserify-docs

Document that aws-sdk works with browserify
Update AWS.STS API
Update documentation for AWS.Redshift and AWS.StorageGateway
Update API for AWS.Route53Domains auto renew support
Update AWS.ElastiCache API
Add support for OpenID Connect in AWS.IAM and AWS.CognitoIdentity
Update AWS.EC2 API to support pagination in ec2.describeVolumes
Add symlink version for EC2 2014-06-15 and update test to work with new API version
Tag release v2.0.22

References:
  #389, #391, #392, #393, #394, #74
Update Samus and add Redcarpet to Gemfile