Improve custom reason code support.

Adds support for custom reason messages to curl_httpclient.
Make custom reason code HTTPError.message if one is available.
Add tests
Another test