Add "start_task" and "restart_task" methods to Upstart object.

For when we want to start/restart upstart "task" type jobs (which have
no instances).
Require 'pp' in the dev console.
Add ConfigApplyError (exception) class

(Doc string in the code explains its usage).
Controller#apply_configuration should optionally notify dependants

apply_configuration can be called in 2 modes:
1. rewrite config files
2. rewrite config files + notify processes of new files

We use a parameter to distinguish between these cases.
Add tests for the new "notify_dependants" flag.

When caling apply configuration on a controller, we can tell it
whether to notify the dependant processes/entities. Add tests for
this functionality in the FQDN controller.
Rename model method to "rewrite_configuration_files"

... because thats what it really does.
Rename "apply_configuration" ==> "rewrite_configuration_files"

Becase "apply" is called on the controllers, which in turn call on the
models to rewrite the config files, and then notify interested parties.