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.