Initial thoughts on how to handle different methods of determining the
payload's hash.
Trying to cleanup the payload type.
Using new aws payload parameter to Sign.
Removed .gitignore.
Switch to constants provided in the http package.
Moved duplicate error parsing code into functions.
Keeping response body closing consistent and actually closing body if there was an error in GetRetrievalJob.
All glacier methods now follow the same basic flow: build request, perform request (which catches generic errors), and parse a success response.