MBS-6058: New schema to model deleted/merged entities separately

This new schema allows us to have real foreign key constraints for active
subscriptions, as the bug in MBS-6058 occurs because HumHumXX is subscribed to
artists that don't exist (but also have apparently not been deleted).

The _deleted tables point to artist_/label_deleted rows, which collect lists of
MBIDs that have been deleted, along with the last known name/comment in order
for us to display the deletion clearly in the subscriptions. This data is
probably interesting to customers too, and has uses for us internally (better
404 pages).
MBS-6058: Rewrite deletion/merge code to use new subscription tables
MBS-6058: Rewrite Data layer to have three separate entities for subscription types

It now uses one entity class for subscriptions against entities that are still
'active' (not deleted), another for entities that have been deleted (tracking
the last known name/comment) and another for entities that have been merged.
MBS-6058: Fix subscription emailing script with the new subscriptions model
MBS-6058: Fix the email generation templates
MBS-6058: Factor out the subscribe-on-create logic into a role
Merge branch 'master' into mbs-6058

Conflicts:
	admin/sql/DropFKConstraints.sql
	admin/sql/DropPrimaryKeys.sql
	admin/sql/DropTables.sql
	lib/MusicBrainz/Server/Edit/Artist/Create.pm
	lib/MusicBrainz/Server/Edit/Label/Create.pm
MBS-5310: Do not show <tag-list>s in <relation> nodes
MBS-5310: Do not show <alias-list>s in <relation> nodes
DB_READ_ONLY ISEs:

 * MBS-6280: registering an account
 * MBS-6282: uploading cover art
 * MBS-6283: voting
 * MBS-6284: cancelling edits
 * MBS-6285: verifying an email address
 * MBS-6286: profile/preferences/password
 * MBS-6288: adding ISRCs
 * MBS-6289: editing cdstubs
 * MBS-6290: removing subscriptions
 * MBS-6403: resetting password
MBS-6468: Link to documentation from relationship type tree

Adds a new link in the relationship type tree that links directly
to documentation for relationship type being described. The link
is visible to all users, not just relationship editors.
MBS-5409: Entity::Role::Age: has_age is false for dates before 1 AD

Date::Calc can't calculate with dates before 1 AD. We did have
a check for this in the code, however it assumed that the year
'0' was AD but it is not. ISO 8601 says that the year 0
corresponds to 1 BC, so I have simply upped the boundary on this
check for years < 1.
MBS-6468: Provide more information to translators
MBS-6575: Provide more debug information if the release editor crashes

Now dumps out the contents of $self->value if the release editor fails
to submit or preview an edit. $self->value is the form contents of the
user's release editor session, so we should be able to at least see
what data was submitted on each page.
Merge branch 'master' into mbs-5310
MBS-5310: Add a JSON test to match the XML test
Merge branch 'master' into mbs-6058
Merge branch 'unaccent-extension'
MBS-3132: Correctly set track artist credits from release artist credits

There was a small bug in the 'add' version of the release editor,
whereby if the user seeded the whole release editor with a single artist
and later changed the release artist to an artist credit consisting of
multiple artist credits, only the first artist credit would be used
for tracks.

This happens because some of the individial artist credits in the
release artist credit do not have the 'name' attribute set. This causes
ArtistCredit->from_array to skip them entirely, thus only those with
that attribute are used (which happens to only be the first artist credit).

Using clean_submitted_artist_credit causes this attribute to be
populated from the nested '{artist}->{name}' attribute, and now all
artist credits are used when defaulting the track artist credits to that
of the release.
MBS-6578: Make area merges possible when areas are used by entities

If an area was used by an artist or label as the begin, end, or general
area (outside relationships), then the area itself cannot be merged.
This is because the deletion of the old area may now violate foreign
key constraints.

In this commit I move over these references to the new area, if an
entity has a not-null reference to one of the old areas.