Adding select2 JS library for relating artefacts

convert related artefacts text area to a selectbox
so that we can apply select2 to it.
New action to return json of matching artefacts

this will feed into the javascript component
that allows users to search for artefacts to
relate.
Using ordered_related_artefacts to preserve order

mongo doesn't guarantee the order of elements
returned in response to an $in query. for the
same reason artefact.related_artefacts accessor
also can't guarantee the order. using the
work-around defined in govuk_content_models
Artefact.ordered_related_artefacts.

using same logic in related_artefact_slugs and
splitting the tests to test assignment and quering
seperately.
Adding owning app prefix to artefact results

content designers requested this to be added
to help them distinguish content easily. to
start with, we are using the colloquial terms
as prefix: whitehall and mainstream, which can
be changed as required.
Search in the beginning of the artefact name

instead of anywhere in the artefact. user feedback.
Updating relating items test for new ui

removed the integration test as we have
changed the functionality and all artefacts
are not present on the page beforehand, which
the test relies on. those features have been
covered in cucumber anyways.

removing the redirect assertion after destroying
relationship, because it doesn't work in tests
using poltergeist. redirects to publisher will
need mechanize to test. also, this bit gets
tested in many other tests.
Merge pull request #162 from alphagov/enable-relating-artefacts

Enable relating artefacts