Faraday middleware

Replaces the following functionality with Faraday middleware

* HTTP Basic Auth
* Following redirects
* Parsing JSON responses
* Mashify JSON responses

Adds:

* Parsing XML responses

I've also updated the `TestClient` to use Faraday test stubs