Make necessary changes to generate new domains' .pot files.

 * Split extract_pot into _db and _templates versions
 * Allow configuring within extract_pot_db which tables
   go to which domains.
 * Allow configuring WHERE clauses, contexts, and automatic
   po comments in extract_pot_db.
 * Change .po format to support different domains
 * Add new .pot files
 * Install new .po format to correct places
 * Purge old useless translations
 * Add alias types to extract_pot_db, previously missing
 * Add timeline events to extract_pot_db, previously missing
 * Add 'pot' target to Makefile to make all the .pot files
Add other translation domains, and rewire infrastructure.

 * Purge Locale::TextDomain, because there is too much magic
   Use, instead, lower-level Locale::Messages calls
 * Add pgettext (gettext with context, p for 'particular')
 * Move _expand to be a method rather than a function
   (so it can be called by subclasses more effectively)
 * Add new modules for the other translation domains.
 * Make sure languages are built from headers for all domains
Modify various Entities to account for domains.

 * Add l_<whatever> functions for translatable
   attributes.
 * Use these l_ functions where applicable
   in other entities.
 * Add root_id to the column_mapping in
   Data::LinkAttributeType so that it actually
   always picks it up
Add or update translations in various places.

 * Add translation for timeline events
   in Data::Statistics. (MBS-4259)
 * Use new entity l_ functions in templates.
 * Migrate l() TT macro to use a TT plugin with
   configurable domain.
 * Use aforementioned plugin to translate statistics
   templates using the proper domain.
Changes based on ocharles' comments (part 1)

 * Change to looping over a list of domains, remove unnecessary use aliased
 * Delete, don't comment.
 * Describe better what exactly I copied from Locale::TextDomain
Switch out all the MB::S::Translation packages to use a role.

 * Made MusicBrainz::Server::Role::Translation, migrated
 * Had to keep sub l/ln/lp in the actual modules (due to symbol
   __PACKAGE__); they don't depend on the parameters, however.
MBS-4241: Locale::Util's web_set_locale, and MBS-4223: regex.

 * Change the format of languages in _set_language to e.g. en_AQ (from
   en-aq) [MBS-4223]
 * Use Locale::Util's web_set_locale, which sets the language correctly
   for the gettext_xs module [MBS-4241]
MBS-2903: Fix Artist->find_by_work

Artist->find_by_work finds artists of a works related recordings (via artist
credits), and also all artists that are related to a work.
Add methods to Statistics to find top editors/voters

Introduces the following new methods on the Data::Statistics dao:

* top_recently_active_editors
* top_editors
* top_recently_active_voters
* top_voters
Add /statistics/editors
Cache the statistics as they are expensive to compute

The cache expires after 1 day
Do not run CREATE INDEX CONCURRENTLY inside a transaction
Stats page should show a combination of accepted edits and auto edits
Order top overall editors by a combination of accepted edits and auto edits
Use more consistent capitalisation
MBS-2387: Intelligently merge release labels by discarding release labels with no catalog label when possible

If we have >1 release_labels with the same label and at least 1 has a catalog
number, remove any release_labels that have a NULL catalog number.
Exclude bots from all the stats
Add rank indexes to the tables to be consistent
Add a note about only yes/no votes being counted
add documentation to INSTALL.md