Pulling in the Faraday Error Handling #17
Some adjustments to the Connection Spec

The way the specs were formulated did not
allow certain refactorings.
Refactoring: Connection and ResponsePreprocessor
Reduce the public interface of Connection
Refactoring: Connection
Checking for correctly formed JSON from ArangoDB #17
Introduced a new structure for the exceptions #17

Phew. That was dumb work.
Raise Client and Server Errors separately #17
Provide the Status Code along with the Error. Closes #17

For both Client- and Server Errors.