When caught USR1,  reopen log file if defined.

(just a call "setup_logging".)
added statsd contact
added handling for process flapping
fix namespacing
fix naming
fix app name parsing
Explicitly exit from forked process to force file descriptors to be flushed.
Fixes Issue #128 where incorrect number of daemons are created by God.
changed exit code to be compatible with ruby 1.8.7 and 1.9.3
some refactoring, tests
Merge pull request #103 from giraffi/log-reopen

When caught USR1,  reopen log file if defined.
Use uid's default gid if no gid is set.

This is the behavior that I'd expect. In a god config, if I do this:

    God.watch do |w|
      w.uid = 'theuser'
      w.start = 'my-daemon'
    end

... I would expect "my-daemon" to run as user "theuser", with the
default groups from "theuser".

Without this commit, you end up with a weird environment where a process
is running as a normal user, but still as the root group.

    $ id
    uid=1029(theuser) gid=0(root) groups=1029(theuser),0(root)

The above combination does, in fact, let the process access files that
"theuser" normally wouldn't be able to access.

This commit changes the group assignments so that it runs more like a
login shell.

    $ id
    uid=1029(theuser) gid=1029(theuser) groups=1029(theuser)
Include a uid's supplemental groups.

This makes `w.uid = "user"` start the watched process more like it would
start from a login shell.

This allows a daemon to require the running user to be a member of two
groups.
Webook failure message referred incorrectly to email
Updated Webook to allow url's with query parameters to work as expected
Merge pull request #160 from ashmckenzie/master

Webhooks with URL's that contain query parameters
first attempt at hipchat Contact type
adding hipchat test
modified files to enable hipchat test
working version of hipchat Contact
removed Iconv reference