Update the GitHub tests for better checks and to meet standards.

Review Request #9774 — Created March 13, 2018 and submitted — Latest diff uploaded


Review Board


This updates the GitHub test suite to check all the HTTP requests
performed, ensuring that we're calling each API we expect with the
correct data in the correct order, and to ensure that payloads are sent
as bytes and not Unicode strings.

It also does a better job of checking results, and simplifies a few

This uncovered problems where we were using ugettext_lazy for some
exceptions in GitHub, which this change also fixes.

Docstrings for tests and utility functions have been added/updated to
better fit modern docstring formats.

Unit tests pass.