Track the contents of hits files on import

* Doesn't do anything with this tracking info yet
* Uses absolute filenames, which assumes the place from
  which the hits are imported will never change, at the cost
  of having to remove all tracking info to effect a re-import
  of everything. No means is given to do this.
Set redis namespace in redis.yml

This means that we can set a different namespace for transition-postgres
on deployment. We will still have the same namespace on postgres branches
in dev, but that is simple to temporarily change locally and doesn't
affect production.
Merge pull request #380 from alphagov/set_redis_namespace_in_yaml

Set redis namespace in redis.yml
Add ImportedHitsFile#same_on_disk?

* Let the imported file check itself for difference
Allow a skippable job in ConsoleJobWrapper

* Use as start 'message' do |job|
* job.skip! will print the "skipped" message
* Returns true to enable "job.skip! and return"
Skip import of hits TSVs we have seen

* Keep track of what we've seen by using ImportedHitsFile to hash contents
* Don't reprocess things whose hashed contents haven't changed
Allow ConsoleJobWrapper to pass a return value

* Is the same value as the return value of the block to which it
  yields
Print number of files imported vs skipped/unchanged.

* In Transition::Import::Hits.from_redirector_mask!
Don't do expensive operations when nothing changed

* Don't refresh daily hit totals
* Don't refresh hits/mappings relations
Bump Rails to 4.1.5 to pick up security fixes
Merge pull request #382 from alphagov/bump_rails_to_4.1.5

Bump Rails to 4.1.5 to pick up security fixes
Fix intermittently-failing hits import spec

* before :all happens once
* it doesn't matter how many nested contexts you have
* for the case where we were nesting before :all, remove
  and go to a simple before(:each). We can't use before(:each)
  for *everything* in this spec, because it triples the time to
  execute (and these are already not quick). But we can and should
  use it for any case where we might have been tempted to nest
  before :all's
* Don't cross the streams!
Merge pull request #381 from alphagov/track-imported-hits

Track imported hits
Convert config/migrations to PostgreSQL

* Remove structure.sql, add schema.rb, configure appropriately
* Remove mySQL-specific option values from migrations
* Remove fix_collation_woes, as is all mySQL-specific
* Remove mysql2 gem in favour of pg
Explicit TNA timestamp conversion

* mySQL used to implicitly convert this
* We aren't in Kansas any more
Use correct type for http_status

* mySQL would handle this implicitly
* Postgres doesn't, thank $DEITY
Fix list ordering in host/mapping_controller specs

* Used to work by coincidence in mySQL
* We're only interested in the set, not the order
Site#default_host depends on host insert order

* Make that explicit, we got away with it in mySQL
Get everything failing for a reason

* Raise RuntimeErrors with suggestions so we can see what
  class of problem breaks what in specs
* Gives us something to fix. Ignoring features right now,
  concentrating on specs
Postgres: fix organisation sites scope

* Digit boolean becomes boolean literal
* Can't alias the COUNT in the HAVING
* ONE, ah ha ha
* TWO, ah ha ha