[bug 1018728] Add translation auditing

This adds a general-purpose logging system and then uses that to log
translation infrastructure-related events so we have more clarity as to
the specifics of what's going on.

This tweaks some of the translation infrastructure to make it easier to
log odd results from the language guesser.

Note that the infrastructure is designed to make it easy to add additional
metadata. The admin has a view that lets you see some things, but the
expectation for now is that someone will get a db dump and write a
script that manipulates the data to see whatever it is they're looking
for. We expect to adjust the infrastructure going forward as we figure out
what the data needs are.
Fix lazy gettext
Rework things to use GenericForeignKey for testing