Clean up HTTP error handling; handle 403 and 429 errors.

Summary: WE CAN PYTHON, REALLY.

Test Plan:
Test against local API server (would be pretty cool to add some unit
tests though).

Reviewers: jennie

Reviewed By: jennie

Differential Revision: https://review.inboxapp.com/D885