This has some implications for Error:
- because attohttpc doesn't distinguish between errors
when serializing or deserializing request/response
data, Error::RequestJson and Error::ResponseJson have
been merged into Error::Json. In practice this shouldn't
matter much because request data is (usually) well-formed.
- attohttpc also doesn't return errors for HTTP responses
with statuses in the [400-599] range, so manual conversion
to an error is needed (this now happens in ResponseType::from_response).