[bug 1027280] Add GengoHumanTranslater.translate; cleanup

* fix some bugs
* cleans up some code that was duplicated in a bunch of places
* adds the GengoHumanTranslater class and translate method
[bug 1027280] Add human tests; overhaul Gengo tests

* adds some initial GengoHumanTranslater tests
* moves all Gengo related tests into a single file
* moves "guess language" patching boilerplate to a single decorator
  to reduce the patch-noise
* removes some tests that are testing things covered in other tests
[bug 1027280] Add support for the Gengo sandbox

Human translations have a real cost so Gengo has a sandbox. However, the
sandbox doesn't work with machine translations. So I did this squirrely
thing which is squirrely so as to involve the least amount of
complexity, but the tests will work in the various possible environments:

1. using the sandbox with sandbox keys
2. using the real api with real keys
3. having no keys
[bug 1027280] Add test for get_balance
[bug 1027280] Implement Gengo Human push_translations

This implements the code and a lot of tests for the Gengo Human
translation system's push_translations. This is only half of the system,
though--still need to implement pull_translations.

This does handle dwindling account balances correctly and a few other
possible scenarios.
[bug 1027280] Clean up API code

This moves some code around so we have a cleaner api in gengo_utils
module that we can use in scripts to test things out without testing the
entire system.
[bug 1027280] Finish pull_translations and tests

This implements the Gengo human translations translation system's
pull_translations. It also adds some tests. Plus it fixes some goofs
that hadn't showed their goofness until I started using them when
writing this.
[bug 1027286] Gengo translation system status

* adds outstanding orders to Gengo admin page
* adds "last seven days" section to Gengo admin page showing total
  number of orders created and completed
* tweaks the "product" section of the Gengo admin page
* adds GengoJob and GengoOrder admin pages
[bug 1027291] Implement spot Gengo human translation
Change recent() to only show 7 days of journal records
Make completed not require a value
Fix default threshold
Validate translation system
Merge pull request #311 from willkg/1027280-gengo-human

1027280 gengo human