MBS-7880: Release editor should have options to copy only titles or only artists to recordings, instead of always both
/ws/js/edit allows invalid dates to enter the database when javascript validation was bypassed
Split out partial-date validation into an MB::S::Validation function, use in both form field and /ws/js/edit
Factor out date periods into an entity role

Most entities that support a date period (begin date/end date/ended)
did this via the Age role, although that didn't make sense for all of
them (Alias). The Link entity, on the other hand, had its own
implementation of a date period.

To remove the duplication, a new DatePeriod role is introduced, which
is used by Link, Alias, and Role::Age.
Don't treat a year of 0 as no year, in JS formatDate
Pad negative years correctly, in JS formatDate
MBS-5961: Fix parsing of BC dates in search results

The code to parse dates in search results didn't account for negative
year values, instead interpreting the digits of the year as month and
day, with funny results.
Replace as_auto_edit and asAutoEdit with make_votable and makeVotable
Change the auto-editor checkbox into a checkbox for leaving edits open and make it available to all editors (MBS-1479)
Merge remote branch 'origin/beta' into editing-make-votable

Conflicts:
	lib/MusicBrainz/Server/Controller.pm
MBS-6011: Remove some direction marks from strings

Via users copying and pasting names, tracklists etc. from documents
containing mixed left-to-right and right-to-left text, strings with
unnecessary direction marks (left-to-right mark LRM, right-to-left
mark RLM) reach the database.

The direction marks only influence the rendering of adjacent
non-strong (weak or neutral) characters. When placed between two
strong characters or between a strong character and the boundary of
the string, they are therefore without effect and can be removed
during string sanitization.

This is implemented here, together with a removal of LRM/RLM from all
strings that don't contain any right-to-left characters. Analysis of
the strings with LRM or RLM currently in the database indicates that
those two cases cover most of the examples that occur in practice.
Merge remote-tracking branch 'bitmap/mbs-7880' into beta

* bitmap/mbs-7880:
  MBS-7880: Release editor should have options to copy only titles or only artists to recordings, instead of always both
Merge remote-tracking branch 'chirlu/fix_dates' into beta

* chirlu/fix_dates:
  MBS-5961: Fix parsing of BC dates in search results
  Pad negative years correctly, in JS formatDate
  Don't treat a year of 0 as no year, in JS formatDate
  Factor out date periods into an entity role
Merge remote-tracking branch 'nikki-bitbucket/editing-make-votable' into beta

* nikki-bitbucket/editing-make-votable:
  Change the auto-editor checkbox into a checkbox for leaving edits open and make it available to all editors (MBS-1479)
  Replace as_auto_edit and asAutoEdit with make_votable and makeVotable
Merge remote-tracking branch 'chirlu/mbs-6011' into beta

* chirlu/mbs-6011:
  MBS-6011: Remove some direction marks from strings
Merge branch 'invalid-date-creep' into beta

* invalid-date-creep:
  Split out partial-date validation into an MB::S::Validation function, use in both form field and /ws/js/edit
  /ws/js/edit allows invalid dates to enter the database when javascript validation was bypassed