PID and consistency fixes

 - Switch to using pid_file and pid_dir to keep all our pids in the same
   location (rather than occasionally sending them to /var).  Apply the
   same to log locations.
 - The above change means flapper needs sudo to run
 - DRY nagios and nsca receiver code.
 - Give the same outputs for flapper, receiver and server, including
   the pid and uptime for a status.
 - Check that the flapper and receiver processes terminate correctly.
Update tests to use new pid code

 - Check for the existance of @config_env['pid_dir'] before trying to
   use it.
 - Specify pid_dir and log_dir in test config to avoid them defaulting
   to a location requiring root permissions during tests.
 - Update names of the flapjack*receiver commands so that the pidfiles
   match the defaults.
 - Update daemon test code to use new pidfile locations.
 - Add mandatory error messages to exit_now! statements
Dirs are directories, not files
Merge pull request #606 from flapjack/pidfile-fixes

PID and consistency fixes