Merge pull request #92 from alphagov/remove_bodies_from_search_results

Remove bodies from internal_search
Fix validation of licence identifiers

Currently it's not possible for a licence to use an identifier that's
ever been used by another edition.  This relaxes that so that id's are
only validated against non-archived editions.

This also makes the same change for business-support editions
Bump gem again to 4.21.0

This adds the Artefact#slug index
Merge pull request #94 from alphagov/fix_licence_validation

Fix validation of licence identifiers and add Artefact#slug index
Bump govuk_content_models to 5.0.0

This adds the attachment support for video editions
Correctly handle Panopticon registration in batch publish

This would break when an edition was published but
Panopticon timed out, as the edition could not be
published a second time to resend the notification.

We now fallback to invoking the registration method
again if the edition was published in a previous
attempt.

We think this only worked previously due to a bug
in the state_machine gem which was fixed in 1.2.0
(bumped with content models in previous commit).
Bump api adapters to 5.3.0

This includes the Asset Manager api adapter
Initialize an asset manager api client
Add caption file upload field to video editions
Rewrite the 'jumps to correct page' test so it isn't flaky

The existing test would often fail as the updated_at
times were often identical, making the order in 
which the results would be returned unreliable.
[#48243391] Fold history of multiple editions

Provide a JS accordion to minimise/expand edition comments to make
reading the history of a specific artefact with multiple editions
easier to understand and consume.
Wrap accordion UI elements in the Twitter Bootstrap style

This provides a little arrow showing the UI affordance.

Also using slideToggle(), over slideUp() and slideDown() to reduce
some of the login in our JS files.
Merge pull request #95 from alphagov/attach-caption-files

Attach caption files to video editions
Add autosave to editions form.

Autosave is performed only when the form becomes 'dirty', currently
dirty state is set by a keyup event on the form, the autosave check interval
runs approx every minute.
An autosave message is currently displayed when a successful save request completes,
this is also used by the autosave integration test.
Float autosave message right
Merge remote-tracking branch 'origin/fold-history'
Only reset dirty state on successful xhr request
Evaluate autosave dirty state in anonymous function.

There's little point in duplicating the same onbeforeunload handler
so check whether the for is considered dirty for autosave.
It's worth noting that this is different from the existing publisher
notion of dirty which is only made true by the change event.
Autosave listens for keyup because an editor may leave the focus on the
same field for some time, the change event would not be fired in this
case.
Reset autosave dirty state when submitting the form
Rename autosave message css class