Change the remove_global_http_status_column migration to be reversible

- Following me making this only a `change` migration in #319, a discussion
  happened in which it was decided that it is important that it is
  reversible, otherwise things break in the event of an aborted deploy
  if the column removed does not rollback to exist again.
Merge pull request #325 from alphagov/make_global_http_status_removal_migration_reversible

Change the remove_global_http_status_column migration to be reversible
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.
- Updating RSpec to 3.0.1 removes `its` - luckily there's an rspec-its
  gem that ports the 2.x behaviour to 3.
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.
Using match for routes is deprecated - use get for the error pages
Make RSpec render_views work again by including a new config line