Really test that the jump to mapping dialog finds a site

- Before, this was only testing for the presence of the site host in any
  form, which would have matched on the error page's <p> tag and passed.
  We don't want it to match an error page, we want to know that the site
  has been found, so test for the site host in header text.
- Add a test for the "Unknown site" error page case.
- Remove www. in the test data to be consistent with the factory—I'd got
  confused with the thing I did for finding non-www sites.
Make an RSpec test consistent with the others of its type

- This was testing for `response.status` redirecting to a URL. I'm not
  sure how this worked, unless `redirect_to` passes its status code back
  and it was receiving that, but in any case it looks wrong at first
  glance, and we should be consistent with the other redirect_to tests
  in this file and others.
Merge pull request #401 from alphagov/make_an_rspec_test_consistent

Make an RSpec test consistent with the others of its type
Add unique index to ImportedHitsFile.filename

Conceptually there is only one hits file at a given path; if the
content has changed, then the hash will also have changed and it
will be reimported. This enforces this at the database level.
Validate uniqueness of ImportedHitsFile.filename
Merge pull request #404 from alphagov/uniqueness_of_imported_hits_files

Ensure that ImportedHitsFiles are unique by filename
Merge pull request #400 from alphagov/really_test_jump_to_mapping

Really test that the jump to mapping dialog finds a site
Allow the CNAME to display on multiple lines

- Long CNAMEs like
  `redirector-cdn-ssl-businesslink.production.govuk.service.gov.uk` were
  causing the configuration table on the site dashboard to stretch
  beyond the margins of the container box. It's unlikely that we'll ever
  get this with IP addresses, but apply the breaking to everything in
  that `<td>` anyway.
Merge pull request #402 from alphagov/wrap_cname_on_site_dashboard

Allow the CNAME to display on multiple lines
Link to /hosts for admins

This is useful for us to quickly hunt and filter for hostnames in the app.

At the moment, you have to know the URL to get to it.
Remove lib and rake tasks for import mappings

* Redirector is retired. We don't import mappings from it any more.
Merge pull request #405 from alphagov/remove-import-mappings-task

Remove lib and rake tasks for import mappings
Merge pull request #406 from alphagov/show_link_to_hosts_for_admins

Link to /hosts for admins
Enable GDS Editors to edit the transition date

- Following a conversation with Jenny and Robin, dates can be edited
  even when the site is live.
- This specifies the format that they're entered in with the date_field
  form helper, which goes into the database as yyyy-mm-dd and gets
  converted to the GOV.UK date format upon display on the site
  dashboard, as it already did.
Remove launch_date from the redirector site YAML import

- Soon, redirector will no longer be the source of transition dates.
Add breadcrumbs and a page title to the form page

- Also add a line break for the "Edit date" text on the dashboard.
Add a check_user_is_gds_editor method to avoid multiple ifs

- Then we check GDS Editor permissions on both the edit and update
  actions.
- This is on SitesController because of its redirection to the site
  dashboard.
Format the old and new dates consistently on the edit page

- Format as 'Day Month Year' in its long form, i.e. 20 September 2014,
  in GOV.UK style.
- Use the date picker field Rails helper I found about about from
  Whitehall to make it easier for people to tell the difference between
  months and days - it displays as three separate dropdowns:
  `2014 September 11` for example.
Make these features less implementation-specific
Make the edit page look like the other pages with forms

- Add a page title and make the domain name smaller.
- Remove colons from labels.
- Add a line break between labels and their text inputs.
- Correct the breadcrumb to "Edit site".
- Use Bootstrap-styled dropdowns.