Improve error messaging

This patch should enable then Run() method on a Request to return the body of the message in case there was an error processing it as JSON.
Would be great to see `response.StatusCode` in the error as well so we don't lose that