Added HTTP response header and data arrays to exception

I've added the HTTP response headers and data to the exception and made them accessible through methods.

The reason I've done this is so I can more easily access the `message` key in the response data so I can easily see what the actual error is.