Changes to support timestamped deploy

These commits introduces changes that support parallel deploys (in our case into
timestamped directories) for lower downtimes when deploying a new version.

The `rails-post-deploy` script is split into scripts with commands that can be
run before bringing the existing site down, and those that must be run while
it is down (typically migrations).

This also allows you to configure files that are shared between these parallel
deploys, such as the xapian databases, fragment caches, etc.

There's also a script specific to mySociety's deploys to safely switch to
using shared files.