[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.

r?
I think it depends on how it gets used. If it's always used in a request-handling context, then it doesn't have to be lazy. If it's used in a celery task or cron (for some bizarre reason I can't fathom now), then it needs to be lazy. I think to be safe, it should be lazy because we don't dictate the context here.