Add titles and furls to sites

Sites can already have homepages which differ from their owning organisation's
homepage. Given that the furl attribute is simply a shorter form of the full
URL for a site, it follows that they have furls too.

We are currently inconsistent with how we apply the (new) homepage for a site.
  * If you look at the site in Transition, it says the new homepage is the one
    specified for that site in Redirector.
  * If you visit the old homepage, you get redirected to the site's new
    homepage, which is correct.
  * However, if you visit a page with an archive/unresolved mapping, it links
    to the organisation's new homepage, which is unhelpful or even
    inappropriate.

Therefore, we should change Bouncer's archive behaviour so that it links to the
site's new homepage. To make it consistent, we then need to make it use the
furl (if any) and a title which describes the site, rather than the
organisation. We need to make these changes to support that.
Shorten the "Successfully importing a large batch of mappings" feature

- This still keeps some of the old steps in `steps %{}` blocks within
  the new more readable and concise ones. Not sure if this is what
  Russell meant at all, but it still works.
Shorten the "Successfully importing a small batch of mappings" feature

- This makes what the behaviour is clearer than the implementation of
  said behaviour.
- This still keeps some of the old steps in `steps %{}` blocks within
  the new more readable and concise ones. Not sure if this is what
  Russell meant at all, but it still works.
Move a step only used in one feature into a feature helper
Merge pull request #358 from alphagov/readable_import_mappings_features

Improve readability of import mappings features
Merge pull request #353 from alphagov/add_titles_and_furls_to_sites

Add titles and furls to sites
Update all of the gems so that Rails 4 works

- I've probably missed some, but there'll be further updates as I go
  through every error that now exists.
- Rails 4 deprecates the :assets group within the Gemfile.
Fix some errors that came before any red tests

- Not entirely sure what these change, but I've done what the error
  output told me to do to fix the error:

  - Eager load the application only in production.
  - Remove the mass-assignment protection and the whitelist attributes
    ActiveRecord setting - this is done by strong_parameters in Rails 4.
  - Remove the unused ActiveResource config line.
Specify which HTTP methods to call on each route specified by match

- Using match on its own is deprecated.
Make RSpec render_views work again by including a new config line
Require 'rspec/expectations' and 'rspec/mocks' in spec_helper.rb
Remove deprecated specifying of which error is being raised
Remove the deprecated config.whiny_nils in dev and test
Use the new Rails 4.0 syntax for scopes
The use of stub (in some cases?) is deprecated - use double instead
Make controllers use strong parameters

- Versions, mappings, whitelisted_hosts, organisations, hits, sites,
  mappings_batch.
Add config.secret_key_base to secret_token.rb

- Rails 4 needs this, apparently. Corresponding PR opened:
  https://github.gds/gds/alphagov-deployment/pull/633, which will
  replace 'overwritten' with an actual key. Is this fine as
  'overwritten'?
Fix failing tests on orgs_sites_hosts_spec and site_yaml_file_spec

- Use `=~` instead of `eql`, because RSpec was comparing an array to a
  CollectionProxy object. Using `=~` makes it compare just the values,
  e.g. 1 == 1, therefore they're actually the same values.
- Thanks to rgarner for the `=~` tip, and https://github.com/alphagov/transition/commit/77ff1686c0271158f315bcbc851a032a141b0362.
We no longer need to patch action_controller/template_assertions.rb

- Rails 4 implements the things we needed to backport to Rails 3.
Remove attr_accessible from the user model

* Move to strong parameters