add a resend-verification endpoint
add link to reverify on profile page
add tests
MBS-3590: Use memcached to atomically generate wizard session IDs

It appears that the session ID is not stable, and is prone to change. From
debugging this issue on IRC, we found that of all 3 wizard_session_id's that
resulted in this crash, there were memcached keys with different session IDs,
but the same wizard ID. It seems unlikely that this is due to a clash in rand()
3 times in less than an hour.

I've changed the wizard session ID to be generated by memcached, providing a
global, and stable incremental ID store.
Change test re: ocharles' suggestions
 * Instead of going through the login/verify/reverify rigmarole, simply
   update the editor table
 * Move some of the extra checking I added over to the Register test.
MBS-4117: language switcher
  * Sets the language using the 'lang' cookie if it exists, falling back
    to the accept-language header
  * Sets the 'lang' cookie using a dropdown menu based on
    DBDefs::MB_LANGUAGES (the list of available translations)
  * Dropdown uses DateTime::Locale's native_name, when a locale exists
    for that language, and the language code otherwise
  * MBS-4853: $ENV{LANGUAGE} no longer used for @lang and @xml:lang
only do substitutions where necessary, default to 'en'
remove s///r, since it's perl 5.14 and higher D:
Fix setting/unsetting of language so forms continue to get translated.
ucfirst the locale names so the list looks self-consistent
Cosmetic fixes:
 * put country names in parens
 * put bare codes in square brackets
 * sort the list
sort correctly (wasn't ucfirst'ing there)
Amend test to use $c->model('Editor')->email_confirmation_date
Reorganize re: ocharles' suggestions
 * Remove _ prefix from _{un,}set_language
 * Pass a language directly to set_language
 * Move cookie munging to MB::S
 * Factor out the code to make the list of languages into an
   MB::S::Translation->all_languages method
Use 500px images everywhere applicable.
Fix the switcher in a few situations

 * Change to an absolute path, rather than a relative one, for the
   /set_language action
 * Change 'languages' to 'server_languages' in Controller::Root, so this
   variable isn't overwritten by e.g. the 'languages' variable for edit
   search
missing comma
MBS-5028: Backfill statistics, plus changes to make it possible

 * admin/sql/updates/20120719-backfill-stats.sql contains the stats for
   2012-07-12 through 2012-07-17
 * CollectStats.pl now accepts an --output-file parameter designating an
   output file. The format is tab-separated statistic name/value pairs.
   The date is not included in the output, and was entered manually for
   the update SQL file.
 * Data::Statistics->recalculate_all() now excludes non-replicated
   statistics on slaves, and private statistics on anything that's not
   RT_MASTER. That is, it doesn't collect stats that will be incorrect.
 * LoadReplicationChanges now takes an optional --limit parameter
   limiting the number of packets to be applied. This is useful for e.g.
   applying exactly one day's worth of packets (25 packets, in this case)
Separate out cookie processing, re: warp's suggestion
Merge remote-tracking branch 'ianmcorvidae/mbs-5028-missing-stats' into beta

* ianmcorvidae/mbs-5028-missing-stats:
  MBS-5028: Backfill statistics, plus changes to make it possible