Implicitly release connection after full read of response payload

Deprecate ClientResponse.read_and_close method
Add ClientResponse.release method

Useful, when response body isn't available for read (HEAD requests) or
if you're not interested in it, but wants release connection correctly.
Deprecate .read(True) in favour of .json()

There are several issues with current decoding implementation inside
read method:
- issue #18
- no possibility to use different json lib
- doesn't scale for different mime types
- it crushes for empty body
- on call read(True) with decoding support for multiple types you
  won't be sure which kind of response you'll get back

TL;DR there are too many reasons to patch .read() method because of
decoding logic inside. Moving it to standalone method simplifies life
a lot.
Respect charset definition in Content-Type for JSON decoding
Allow to pass custom JSON encoding to override Content-Type charset
Merge pull request #98 from kxepal/refactor-client-response-decoding

Refactor client response decoding