Add method on Site to canonicalize a path

Canonicalization requires the site's significant query params,
so it makes sense to do it in a site instance method.
Add a custom action to find a mapping for a site

In order to identify the mapping for a hit, we need to be able to
find a mapping given an uncanonicalized path for a site. We've done
it through a custom action which redirects to the mapping so that
we don't have to canonicalize all the paths on a hits page and make
lots of queries to try to find the mappings for them all.

If a mapping is found for the canonicalized path, a redirect to it
is returned. If no mapping is found, a redirect to the 'new mapping'
page is returned, with the canonicalized path shown in the form.
If the path canonicalizes to a homepage (e.g. '/') then it redirects
back to the previous page if possible (or to the site's mapping
index if not) with a notice that it's not possible to edit homepage
mappings.

The route match allows us to refer to the path in its singular
form - 'find_site_mapping' instead of 'find_site_mappings' which
it otherwise would be called because it is nested under the mappings
collection. We're only finding one mapping for one given path on
the site, so this is a more appropriate name.
Remove trailing whitespace from 3 lines
Add a link to each hits row to check its mapping

This uses an edit icon instead of text because the hits prototype
has a dropdown button including other actions, but these other
actions aren't yet possible so it links to the find site mapping
action.
Add a scenario to click through to edit a mapping

This ensures that the link from the hit row is routed to the
correct action and that the hit's canonicalized path is passed on
to the new mapping form (if no mapping is found for the path).