Counterproposal for clientside detailed error reporting

This is a rewrite/counterproposal to #91, I included the original commit.

This PR adds the entire response object (there are possible debug cases where you'd want to inspect more than just headers/status) and response body to the error object returned by the client whenever an error occurs during the execution of Client.prototype.methodCall, **after** a response has been received from the RPC server. 

The extra properties are added non-enumerable, so that using (implicit) ```.toString()``` on the error (as with ```console.log```) your implementation does not attempt to stringify massive amounts of data.

@baalexander could you please say something about which approach you prefer? Thanks.