docker: Don't do configuration in the runfile

This commit extracts the config file generation and database
initialisation parts of the CKAN service into separate scripts which are
run at container "boot" rather than in the service file.

This is just a bit cleaner, and means that the scripts are guaranteed to
only run once on boot, rather than every time CKAN is started (e.g. if
CKAN crashes, runit will rerun the `run` file, but not the init scripts)

This also makes it easier to replace the configuration step with, for
example, a standalone Python script if this is deemed easier to
maintain.
Merge pull request #1860 from nickstenning/docker-split-run

docker: Don't do configuration in the runfile