boto/boto — pull request #2113 by danielgtaylor (2014-02-21 00:06:25+00:00)
Title: 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.

@toastdriven, @jamesls please review.