Breedx2/response bytes

Let the Response object use bytes[] and don't assume String. Provide convenience methods to get the bytes as a String. This breaks backwards compatibility with callers that expect getBody() to return String. Callers will need to call getBodyString() instead.
This shouldn't really be worse than it was before.

I wouldn't generally expect to see huge response bodies coming back from error conditions, but I guess it _could_ happen.  I think the response body is generally helpful to troubleshoot when things go south.