Add Artefact module containing scopes for filtering

This adds a new module, Artefact::FilterScopes, which defines new scopes 
for filtering artefacts by tag, parent tag, kind, state and a matching 
search query.
Filter artefacts using scopes

Rather than calling Mongoid's criteria methods in the controller, call 
the scopes from Artefact::FilterScopes instead. 

This also includes new functional tests which no longer test the 
behaviour of the view template.