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'm starting to black out a little bit toward the bottom of this PR, but these expectations that exist in `rescue` blocks might have a gotcha if somebody comes in later and screws up the test setup. Which would be easy to do on these ones since this stuff is pretty complicated. Maybe something like:

```ruby
begin
  code_i_expect_to_explode
  fail("I should have thrown an exception")
rescue WhateverException
  expect(something_important).to be_true
end
```

might guard against that. Otherwise if the exception didn't get thrown the test would still pass, I think.