Prevent implicit string decode in hmac-v4 handlers. Fix #2033
Added support for MFA in AssumeRole.
Handle JSON error responses in BotoServerError.

Attempts to fix services which may return JSON error responses. For example,
CloudFormation might return something like:

```json
{
  "Error": {
    "Code": "ValidationError",
    "Message": "Template error: Unable to get mapping for RegionMap::us-west-2::AMI",
    "Type": "Sender"
  },
  "RequestId": "xxxxxx-xxxxx-xxxxx"
}
```

The error, when represented as a string looks like:

```python
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
None
```

After this fix, the `None` is replaced with the response body, and the
`BotoServerError.[request_id|error_code|message]` values are filled in.
Add test for error attributes
Correct typo in sqs_tut.rst
Merge pull request #2114 from atteroTheGreatest/develop

Correct typo in SQS tutorial. Fixes #2114.
Merge pull request #2113 from danielgtaylor/json-error

Handle JSON error responses in BotoServerError. Fixes #2113, #2077.
Fixes #2108 GS generate_url with GoogleAccessId
read EvaluateTargetHealth from resource record set
add tests for reading alias DNS record
initial interface for a request hook, sample interface and example for logging
added filename to constructor
Merge pull request #2116 from danielbeamshare/fix-2108-gs-generate-url

Bug fix for Google Storage generate_url authentication. Fixes #2116, #2108.
Added more endpoints for Datapipeline.
Copyright fix. :/
Merge branch 'datapipeline-regions' into develop

Fixes #2121.
Merge pull request #2037 from dangra/2033-bugfix

Prevent implicit string decode in hmac-v4 handlers. Fixes #2037, #2033.
Merge pull request #2120 from zihaoyu/develop

Read EvaluateTargetHealth from Route53 resource record set. Fixes #2120.
Allows use of throughput kwargs with GlobalIncludeIndex - fixes #2055.
DDB queries with GSI now work with a single filter.