Merge branch 'release-2.23.0'
Removing obselete core directory.
Prevent implicit string decode in hmac-v4 handlers. Fix #2033
Merge branch 'release-2.24.0'
Merge branch 'release-2.25.0'
Classes inherit from old-style classes, super breaks them
Added item_lookup function and better error handling
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
Merge pull request #2113 from danielgtaylor/json-error

Handle JSON error responses in BotoServerError. Fixes #2113, #2077.
Fixes #2108 GS generate_url with GoogleAccessId
renamed get_all_vmtypes method to get_all_instance_types to better match actual DescribeInstanceTypes call euca switched to
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. :/