Added explicit reader and writer types to API

When reading data from a stream using the Fixed encoding, we need to
maintain state (bytes remaining) so we know when to finish. Previously,
this state was created by partially applying the read function, but this
behaviour is non-obvious.

Note: this is a backwards-incompatible change.

Closes #191.
Cohttp.Auth: Rename `resp` to `credential` and `req` to `challenge`

Also update docs and rename functions exposed in `Auth` accordingly.
Fixes #194.
Adapt Async backend to new Reader API
sync CHANGES
Merge branch 'auth_types' of git://github.com/dsheets/ocaml-cohttp into talex5-transfer-api

Conflicts:
	CHANGES
Merge pull request #196 from avsm/master

Resp and Reader/Writer changes to 0.12.0