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.