MBS-3862: Do not reveal editors email address when sending private messages

When a private message was sent, and a carbon copy was sent to the original
sender, the other editor's email address would be revealed. Instead of sending
one email, 2 emails are now sent, to avoid this happening.
Add References and In-Reply-To headers to personal correspondence emails

The message ID is simply the current time when the email was sent, but as the
system never needs to reference this ID, it seems ok that we can't reference it
again in the future. This should result in email clients grouping further
replies.
MBS-3898: Handle totaltracks in the track parser
Create all edits in the website within a transaction

MBS-4088 identified a terrible bug where some of the edits in the release editor
are entered, but some are not (such as ones that crash). The correct behavior is
for all of these to fail, but this wasn't happening because the transaction was
too short.

I've moved the transaction outside creating edits, which has meant moving it up
into controllers.

As this is quite a wide reaching change, I've had to create tests for all
controllers to guarantee everything is working OK,
Garbage collect recordings using a constraint trigger

This allows us to defer garbage collection to the end of the current
transaction. Combined with a wider scope for the transaction (around the entire
release editor) this means that it is possible to remove one medium, but re-use
those recordings on other mediums (resolving MBS-4088).
Add some basic tests to the delete_orphaned_recordings trigger

At least guarantees that the only recordings it deletes are ones that are
changed, and that the trigger begins deferred.
Remove actions/admin/wikidoc.t as this has now been replaced

Also copy the setup for a temporary wiki doc index
Fix failing Artist::Split controller test
Merge branch 'master' into mbs-4088

* master:
  Unify t/tests.t, t/edits.t and t/controllers.t
  Change --tests to take a regular expression
  Fix failing Relationship::LinkAttributeType::Index test
  Do not export COVER_ART_ARCHIVE_UPLOAD_PREFIXER from ShowDBDefs
  MBS-4765: Update DB_SCHEMA_SEQUENCE for recent schema update
  Patch old upgrade script to also remove editor_watch_release_group_type rows
  When deleting release groups, delete any secondary types they have
  MBS-4733, don't loop over release group ids when merging secondary release group types.
  MBS-4278, correctly refer to track data when creating recording edits.
  Use dedicated comment field type (MBS-4486)
  MBS-4621, do not call the display_artwork macro if we already know the release has no artwork.
  MBS-4520, correctly updated track positions in release editor after a track has been deleted.
  MBS-4680, correctly concatenate parts of cover art urls (without duplicate slashes).
  MBS-4733, merge release group secondary types.
  Ensure that the CreateTable scripts use the same column order as what the main database uses, otherwise imports will fail.
  Require Test::WWW::Selenium::Catalyst => 0.07 in Makefile.PL and carton.lock.
  Add Approve to searchable My Votes
  MBS-4486: Trim leading and trailing brackets from comments
Fix a conflict of method names in Data::WikiDocIndex tests
Merge branch 'mbs-4088' of ssh://localhost:10015/musicbrainz-server into mbs-4088

* 'mbs-4088' of ssh://localhost:10015/musicbrainz-server:
  Add some basic tests to the delete_orphaned_recordings trigger
Move garbage_collect_orphans tests into pgtap tests
Move the delete_unused_urls tests to PGTAP, remove trigger tests from Perl code

The deferred triggers are now tested in isolation in PGTAP tests, so there's no
need to check it in the edit tests.
Remove useless/unwanted Facebook parameters
Added Spotify cleanup + small fix to a youtube one
Displaying all FB page info on the sidebar
Adding autoselect for the new Other Databases whitelist
Adding aclaratory comment
Making the commenting more precise
Adding favicons for IMSLP and IBDB and cleanup for IBDB