agent: Dig out detailed docker error messages

The HTTP status of a lot of Docker failures is just "Internal Server
Error". It also has a textual failure in the HTTP body. We were just
discarding this as it wasn't JSON.

Instead we now grab text in the body of the HTTP message when we
get a failure with a Content-Type of text/plain (or no type).