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.
Merge pull request #396 from alphagov/make_transition_date_editable

Enable GDS Editors to edit the transition date
Remove the managed_by_transition column from the sites table

- This is a part of retiring redirector.
Fix tests failing due to the removal of the database column

- Within this, remove most references to managed_by_transition,
  including SQL scopes.
Remove managed_by_transition from the hosts API

- In doing this, the hosts API no longer knows about
  managed_by_transition, and no longer refers to a site of a host being
  managed by transition. We're removing two hosts features that
  reference errors in the JSON, as there will be no errors now because
  it is just a list of hosts. Jenny and I discussed making the hosts API
  error when there is no data, but that would be inconsistent with the
  rest of the app's behaviour.
Fix broken link in breadcrumb for bulk add preview

This now links to the new bulk add batch form, which is equivalent
to the breadcrumb for import mappings.
Merge pull request #414 from alphagov/fix_bulk_add_breadcrumb

Fix broken link in breadcrumb for bulk add preview
Correctly pluralize 'file' in hits import message

In the hourly import of transition-stats hits, usually only one file
has changed and the resulting incorrect pluralization annoys me.
Merge pull request #415 from alphagov/pluralize_hits_file_message

Correctly pluralize 'file' in hits import message
Don't import the data/sites directory from redirector anymore
Merge pull request #413 from alphagov/remove_managed_by_transition

Remove references to `managed_by_transition`
Enable request forgery protection for features

Bulk edit without js has been broken for a few months due to a missing
authenticity_token, and we didn't notice. This change will mean that
features should fail if we do this again.
Remove trailing whitespace from 2 lines.
Include authenticity_token for non-js bulk edit

Since Rails 4.0, remote forms have not included authenticity_token
by default:

    https://github.com/rails/rails/commit/128cfbdf4d316a544a76e5c58dbeac153f3d4e36

The form_tag needs to have `remote: true` to work in the modal, but
also needs the authenticity token to work without JavaScript. This
commit includes the token in the form via the helper's options and
fixes the features which were failing on the missing token. We
don't use remote forms anywhere else in the app.