Add a test for corner-case behavior.

I'm looking to make HttpURLConnectionImpl delegate to Job, and that means
writing tests for all the weird things it does above HttpEngine.
Merge pull request #747 from square/jwilson_0421_method_output_test

Add a test for corner-case behavior.
Fix a bug where the new API wasn't honoring SSL redirects properly.
Merge pull request #748 from square/jwilson_0421_honor_setFollowSslRedirectsFalse

Fix a bug where the new API wasn't honoring SSL redirects properly.
Deduplicate followup request handling.

This code's currently both gnarly and subtle; there's a lot of
nuance to the HTTP behavior, and a lot of state, but it isn't
obvious in the state of the objects doing the work.

Deduplicating work in HttpURLConnection with Job is a shy first
step. It also points out some potential problems with Job, where
we don't handle method changes or cookies correctly. That's
critical!
Merge pull request #749 from square/jwilson_0421_followup

Deduplicate follow-up request handling.
Clarified behavior of AsyncApi when a request is canceled, including its implied disconnect.