Merge remote-tracking branch 'warp-bitbucket/mbs-6619' into beta

* warp-bitbucket/mbs-6619:
  MBS-6619, include contrib/slowdown.psgi
  MBS-6619, show a better error message when the internet archive sends 503 Slow Down responses.
MBS-6616: Hide comment field while images upload
Merge branch 'mbs-4669' into beta
Merge branch 'mbs-6616' into beta

* mbs-6616:
  MBS-6616: Hide comment field while images upload
Merge branch 'mbs-6612-image-preview' into beta

* mbs-6612-image-preview:
  MBS-6612: console.log cleanup
  MBS-6612: move to left side, amend arrows (at nikki's suggestion)
  MBS-6612: show a size-limited preview image in the cover art uploader table

Conflicts:
	root/static/scripts/edit/MB/CoverArt.js
Merge branch 'mbs-4442' into beta

* mbs-4442:
  MBS-4442 (addendum): remove duplication in CoverArt.js
  MBS-4442: use $(this)
  MBS-4442: focus just-clicked button in coverart reordering (in both add and reorder pages)
MBS-6628: Correctly accept merge label edits with subscriptions

The Edit::Role::MergeSubscription role was incorrectly generalised, and
still had 'artist' hard-coded. This works fine for artist merges, but
fails for label merges as the deleted subscriptions have the 'label' key,
rather than 'artist'. This commit changes this code to call model_to_type
to identify the key name.
Merge branch 'mbs-6395' into beta

* mbs-6395:
  MBS-6395, use DELETE ... RETURNING ... to get medium ids which need updating.
  MBS-6395, don't try to get track.medium from deleted tracks.
  MBS-6395, Move DurationLookup->update() calls into Data::Track.
  MBS-6395, remove unneccesary 'use Try::Tiny' line.
  MBS-6395, correctly deal with discs on which some tracks have a length, but not all.
  MBS-6395, Also update medium_index table when Edit::Medium::Edit makes changes to tracks.
  MBS-6395, call DurationLookup->update() on medium insert + add test.
Merge branch 'mbs-6262' into beta

* mbs-6262:
  MBS-6428, Move artist credit input styles to form.less, where it cat use existing variables.
  MBS-6262, use less for some form element sizes.
  MBS-6262, form_row_select now accepts a 'class' argument instead of a generic 'attrs'.
  MBS-6262, Don't use a list when there's just a single value.
  Use button/menu context on buttons.
  MBS-6262, clean up release editor / form css.
Merge branch 'mbs-4849' into beta

* mbs-4849:
  MBS-4849, support drag & drop of image files in cover art uploader.
Initialize editor with ha1 and email columns in DurationLookup test.
Fix incorrect extra parameter in new reorder-button code.
MBS-6618: submit 'on' if on, otherwise submit nothing.
MBS-6630, do not show remove button on completed uploads.
MBS-3204: Rewrite pseudo-release documentation to be clearer
MBS-6622: Make sure all login pages submit over HTTPS

If SSL_REDIRECTS_ENABLED is true, the action of the login form will be
a https:// uri. If it is not true, then http:// will be used.
MBS-6622: Redirect over SSL when a page tries to display login forms

When a page requires a user to be logged in, it would normally
display the login form. Now, the action first ensures that the
user is connected over SSL before displaying the form. If they are
not, it redirects them to the same page over SSL.
MBS-6622: Don't use return_to_http any more

We now only upgrade the connection to HTTPS and don't worry about
redirecting the user back to a HTTP connection. This fixes the
redirection loop that the parent commit introduced.
MBS-6220: Do not HTML escape artist name tooltips in diff_artist_credits

diff_artist_credits builds its output using HTML::Tiny, but HTML::Tiny
automatically applies HTML escaping to attribute values.
MBS-4788: Disable all release group type fields when using existing release group

If the user has selected a release group in the release editor, they should be
unable to also edit the type of the release group (primary or secondary). The
code that was previously responsible for this was not updated for multiple
release group types, so I have updated it to now (correctly) consider the
primary release group type, but also all secondary release group types.