Return HTTPErrorResponse objects for errors & release 0.2.0

This object directly wraps a response, so all response properties are directly
available on the error object.
Make sure to set method in the request options