Include body mime type on AppEngine client requests.
Account for response URL being absent.

According to the documentation[1], this occurs when the response URL is unchanged from the request URL.

[1]: https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/urlfetch/HTTPResponse#getFinalUrl()
Merge pull request #616 from square/jw/fetch-client-content-type

Include body mime type on AppEngine client requests.
Merge pull request #617 from square/jw/fetch-client-null-url

Account for response URL being absent.
Add transfer encoding to multipart parts.

Also:

 * Reject multiple annotations on method parameters.
 * Pre-size StringBuilder instances to their likely size.
Merge pull request #612 from square/jw/content-transfer-encoding

Add transfer encoding to multipart parts.
Migrate most behavior tests to be whitebox(ish).

Eliminate the blackbox inspection into RestMethodInfo and direct invocation of RequestBuilder by combining the two.
Merge pull request #619 from square/jw/whiteboxish

Migrate most behavior tests to be whitebox(ish).
Document custom error body deserialization exception.

This is a less-than-ideal API but the behavior can't be changed because it's public API. We'll make error handling more robust in future versions.
Bump RxJava version.
Bump Guava dependency.
Bump Jackson dependency.
Bump Wire dependency.
Bump AssertJ dependency.
Merge pull request #623 from square/jw/document-exception-behavior

Document custom error body deserialization exception.