Expose more meaningful errors

adds `reason`, `statusCode` and `json` to the error object

should fix #9 and https://github.com/apocas/dockerode/issues/40