Correctly work out action triggering new state.

The existing latest_version_audit_entry_for method returns the *last* audit
entry for a particular state. But if we want (for example) to know who was the
submitter for an edition, we need the *first* entry for the submitted state.

This commit adds an audit_entry_for_state_change method which returns the audit
entry that represents the state change itself.

It also makes a change to the submitted_edition test factory to correctly set
up an audit history including creation and submit events.
Indicate whether the view displays footer metadata
Ensure scrolling navigation doesn't overlap footer meta
Use audit_entry_for_state_change in submitted_by.
Merge pull request #1749 from alphagov/fix_submitted_by

Fix wrong calculation of user who submitted an edition
Merge pull request #1750 from alphagov/fix_history_anchor

Fix history anchoring where no footer metadata exists