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).
Use block for icon on link to check mapping

This avoids using .html_safe, and looks clearer.
Rename class for column to .hit-to-mapping

This is to avoid possible future conflicts with .mapping, which is
more likely to be used elsewhere.
Make column width narrower so it fits the icon more neatly
Restrict match route for find to get requests

By default `match` allows all methods when none are specified,
which would be a security risk:

    https://github.com/rails/rails/commit/56cdc81c
Remove match route, leaving only the nested one

The match route seems to require the nested one in order for it to
work. That means that both names are useable, which is more confusing
than having just 'find_site_mappings_path'.
Update notice about editing homepage mappings
Change button icon to 'Check mapping'

This makes it larger and easier to click on, and its meaning is
clearer.
Rename mapping column to 'Action'
Redefine find route to name it 'site_mapping_find'

This is a compromise which means that the route is defined in an
obvious place and its name is accurately singular, at the
expense of the name being ordered inconsistently from the other
actions (site_mapping_find rather than find_site_mapping).
Merge pull request #52 from alphagov/edit_mapping_from_hit

Edit mapping from hit