Expose more meaningful errors

adds `reason`, `statusCode` and `json` to the error object
Merge pull request #13 from klaemo/patch-1

Expose more meaningful errors