Reduce number of duplicate govspeak tests

The `should_allow_showing_of` test macro was used in 10 controller tests, yet
it was testing the exact same thing each time as the 'show' template is
actually provided by the editions controller. Testing this functionality once
by using the `GenericEditionsController` reduces the total number of
functional tests by 9.
Reduce number of duplicate audit trail tests

The `should_show_document_audit_trail_for` test macro was used in 9
controllers to ensure we were showing the audit trail on the 'edit' and 'show'
actions of those controllers. The 'edit' and 'show' templates live in the
editions folder so we were actually testing the exact same thing each time. By
using the `GenericEditionsController` we can reduce the number of tests from
18 to 2. *NOTE* I've had to create an empty 'generic_editions/_form' partial
so that we can render 'editions/edit' correctly.
Introduce the GenericEditionsControllerTest

This allows me to test that the `GenericEditionsController` inherits from
`Admin::EditionsController` in a single place.
Reduce number of duplicate tests for unpublish button

The `should_allow_unpublishing_for` macro was was used in 10 different
controller tests. It tests for the presence and absence of the unpublish
button in the navigation partial rendered by the editions/show template. By
testing this using the `GenericEditionsController` we can reduce the number of
tests from 20 to 2.
Reduce number of tests for 'revise edition' button

The `should_allow_revision_of` test macro was used in 7 controller tests. It
was testing for the presence and absence of the "Create new edition" button
which is displayed by the editions/navigation partial. By testing this using
the `GenericEditionsController` we can reduce the number of functional tests
from 21 to 3.
Reduce number of tests for 'delete edition' button

The `should_be_able_to_delete_an_edition` test macro was used in 10 controller
tests. The tests in the macro were exercising logic in the editions/navigation
partial and the editions controller, all of which are shared across those 10
controllers. By changing these tests to use the generic editions controller we
can reduce the number of functional tests from 70 to 7.

*NOTE*. It should be possible to further simplify the tests for the
presence/absence of the delete button as the template only switches based on
the value of `Edition#deletable?` (i.e. it doesn't care about the actual state
of the edition).
Reduce number of tests for the 'View edition' button

The `should_link_to_public_version_when_published` and its counterpart,
`should_not_link_to_public_version_when_not_published` test macros were both
used in 10 controller tests. The two tests in those macros were exercising
logic in the editions/navigation partial which is shared by all those
controllers. By changing these tests to use the `GenericEditionsController` we
can reduce the number of functional tests by 18 (20 down to 2).
Reduce number of tests for the 'view preview' button

The `should_link_to_preview_version_when_not_published` test macro was used in
10 controller tests. The single test in that macro was exercising logic in the
'editions/navigation' partial which is shared by all those controllers. By
changing these tests to use the `GenericEditionsController` we can reduce the
number of functional tests by 9 (from 10 to 1).
Reduce number of tests around rejecting documents

The `should_be_rejectable` test macro was used in 10 controller tests. The
tests in that macro were exercising the 'editions/navigation' partial, the
'editions/rejected_by' partial, and the 'editions/audit_trail_entry' partial;
all of which are shared by those controllers. By changing these tests to use
the `GenericEditionsController` we can reduce the number of functional tests
by 45 (from 50 to 5).
Reduce number of tests around publishing documents

The `should_be_publishable` test macro was used in 10 controller tests. The
tests in the macro were exercising logic in the 'editions/navigation' partial
which is shared by all of these controllers. By changing these tests to use
the `GenericEditionsController` we can reduce the number of functional tests
by 18 (from 20 to 2).
DRY up controller tests around force publishing

The `should_be_force_publishable` test macro was used in 10 controller tests.
The tests in the macro were exercising logic in the 'editions/navigation'
partial which is shared by all of these controllers. By changing these tests
to use the `GenericEditionsController` we can reduce the number of functional
tests by 54 (from 60 to 6).