Ch 1408 - Pause agents in Lift when they are paused in Drupal

I ended up doing a lot of work on how we handle bad responses from Lift as part of this story. The main reason for doing this was to allow the queue to be aborted if a certain type of exception is thrown. If we are making a bad request that Lift cannot handle, then the queue should not proceed to the next item, which could be setting the status to running. Instead the user should get a message that something went wrong.
It's pretty self-evident... but I have to comment on comments so it needs a docblock, lol.