Replace check.tp.o webservers with Arlo's Go version
https://github.com/arlolra/check is a (not yet completed) rewrite of TorCheck.py but it comes with its own webserver -- which should help both the "the cgi has to parse a bunch of stuff on startup each time" problem and the "oh my god we're running how many apaches" problem (which are related).
To do the replacement though, we need to enumerate all the things that check.tp.o serves right now.
Here's a start: A) The index page, including variants of it like https://check.torproject.org/?lang=en-US&small=1&uptodate=1 that TBB 2.x use as their homepage. Apparently there's also a /?TorButton=true variant too.
B) https://check.torproject.org/RecommendedTBBVersions (a flat text file that gets fetched by millions of people)
C) https://check.torproject.org/cgi-bin/TorBulkExitList.py which is another cgi that should eventually get rewritten. (Its current design is particularly painful because of the number of dns queries it launches.)
D) https://exitlist.torproject.org/exit-addresses used to be the static file that tordnsel exports. It's currently 403'ed by webserver configuration, since some jerks are scraping it at maximum speed. But I'd like to expose it again someday. I mention exitlist because it's on the same apache as check currently, but there's no reason it necessarily needs to move at the same time.
Currently we run tordnsel on the same machine as check, since the check cgi's do dns queries and it's best to do those over localhost. I'd like to move tordnsel elsewhere though, to better partition things. We can do that only once none of the check processes do these dns queries.