Add an option to HTTPSFuture to ignore Location headers

Summary: Sometimes it can be handy to get the request directly rather than following a redirect, such as a badly-implemented 404 page or a broken webserver sending data alongside a Location header.

Test Plan: Use HTTPSFuture to download data from one of said broken servers.

Reviewers: epriestley

Reviewed By: epriestley

CC: Korvin, aran

Differential Revision: https://secure.phabricator.com/D6897
Encode/sign JIRA POST requests like JIRA expects

Summary: Ref T3687. Currently we use generic OAuth1 rules here, but JIRA expects bodies to be JSON encoded and not included as part of the signature. Left a comment about this in case we need some other behavior in general, but this is probably the simplest thing that could possibly work for now.

Test Plan: Performed API POST requests to JIRA, got action on the other side.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T3687

Differential Revision: https://secure.phabricator.com/D6891
Configure allowable status codes for HTTPFuture and HTTPSFuture

Summary: Expose new setExpectStatus() method on BaseHTTPFuture. If set, any status code not in the array will trigger an error state in HTTPFutureResponseStatusHTTP.

Test Plan: Used HTTPSFuture with resolvex() and tested against various status codes.

Reviewers: epriestley

Reviewed By: epriestley

CC: Korvin, aran

Differential Revision: https://secure.phabricator.com/D6899