Error handling / logging

A bunch of things going on here:

* Faraday middleware to facilitate logging of all requests/responses sent to the adapter
* Ability to capture errors that may occur on deployment creation and bubble them back up to the local agent
* Suppression of adapter errors that occur during `deployments#show` and `deployments#destroy`
* Global error handler for general error handling

[finishes #82690376]
I wonder if you can use this instead:
https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L573

Having the individual exception classes seems kind of funky anyway, but maybe I'm missing something. Couldn't there be one `UnexpectedResponseException` or something that has the code and the message as part of it?