Add custom logger support. Refactor response error handling. Clean code to follow reek style guide.

rephrase:
The default severity is set to INFO and logs only the request attributes (headers, parameters and url). Setting it to DEBUG will also log the raw JSON response.