Add models to track grouping of document series

This commit also contains a migration to copy data from the
document_series_memberships table into the new tables, and a pending
data migration to drop the document_series_memberships table once the
code is running successfully in production.

When the groups are retrieved from a series, they're returned in the
order in which they were added. Similarly for the documents in a group.
Associate editions with a doc series via groups
Rename private method to improve clarity
Fix test description
Display doc series groups with published docs
Speed up doc series page with SQL-power

Only load the doc series groups from the database that have a
published edition.

Use `includes()` to avoid a couple of N+1 queries.

Total query count to load a page with ~20 docs in the series is down
from around 60 to 13. Page load time is halved in the dev VM.
Skip failing speed tagging test
Shorten instance variable names
Fix typos in style guide
Shorten well understood instance var name
Implement HTML/CSS for new doc series/group UI
Create new doc series groups
Edit heading/body of doc series groups
Move #index action listing doc series docs to new controller

DocumentSeriesMembershipsController is being replaced by
DocumentSeriesGroupsController (for managing the groups) and
DocumentSeriesGroupMembershipsController (which will handle
adding/removing documents to/from groups). This is the start of that
move.
Remove DocumentSeriesMembershipsController and UI

The behaviour is moving to a DocumentSeriesGroupMemberships controller
instead.
Display 'group has no docs' message for empty doc series groups
Delete groups from doc series

If a user tries to delete a group with documents in it, they're told
that they need to get rid of the documents first. The message appers on
a page rendered by the `#delete` action, which also doubles up as the
confirmation "dialog" if the group happens to be empty.

There's no server side checking to ensure that only empty groups are
deleted; it seems like it'd be unnecessary complication given the access
that a user who can delete an empty group already has to the contents of
the group.
Remove documents from groups in a doc series
Move documents in a series between groups
Optimise document_series_groups#index