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.