Attempt to make god use the right configuration after each deployment.

Since recent changes, god is not restarted every time the app is deployed. For god to pick any changes in configuration a "god load" command must be issued, passing the absolute path to the new config file.

This new config file redefines the resque and resque-scheduler watches, so that when those watches are restarted (which happens immediatelly afterwards during deployment), the config files they use are the ones just deployed.

Basically this means that on restart resque and resque-scheduler workers will use the new configuration files. Also any changes in the static schedule will immediately take place.

On the other hand the redis-server watch is not restarted on each redeployment. This means that any paths used in this watch must be absolute paths inside the capistrano "shared" folder, which is guaranteed to exist across deployments. Otherwise we could have the situation in which the running redis-server instance uses an absolute path for its config file which points to a deployment folder that has since been deleted (because capistrano by default removes old deployments, keeping the last five).

The same reasoning can be applied to the global "God.pid_file_directory" option, which according to God docs cannot be changed once god has been started (when loading a new configuration, any line that tries to set this value is ignored). The path to the file directory must be an absolute path to a folder inside the capistrano shared folder, otherwise the above described situation could happen.