Reviewer Andy: Better errors - Issue #17

Improve error reporting by passing through error codes that are raised by failures at a remote server from ellis. The ellis client then prints these to the console. Example output in Chrome console:

    {"status": 502, "message": "Bad Gateway", "reason": "Upstream request failed", "detail": {"Upstream error":"HTTP 400: Bad Request"}, "error": true}