Include the version in the user-agent header
Version bump v1.1
General README fix-ups
Allow inserting default headers without overriding explicit headers

New internal method Client._fix_headers
    - Doctors the header names to be lowercase and
    - Inserts any default headers which cannot be found in them

New internal constant _default_headers
    - list of header fields to include by default
Allow user code to override the User-Agent

Move User-Agent to the default headers dict, making it (only) a default
value.
Style: Conform Authorization header to lowercase, as with the others

This is not strictly required, since we must unconditionally override
the Authorization header, but it makes it consistent to the other header
names.
Add accept header: ask for v3 of the github API
Internal change: Add new Content class to handle content-type handling

Interpreting the server's response correctly involves quite a bit of
juggling; this class helps organize the decoding and other processing of
the response body quite nicely.

For now, only decoding is handled properly, although we plan to handle
per media-type behavior later.

Content:
    - Decode the body according to the charset

Client.request:
    - Use the new Content class to handle the charset decoding
Content: media-type specific handlers (json, unknown)

Add media-type specific behaviors to Content(). For now, only json and
unknown media types are supported.
Bug: Only charset-decode the body if it makes sense for the media-type

This means that decode_body() will only be called from the various
media-type handlers that support it.