Make --multi more useful by killing children when parent dies.

This will automatically clean-up all the child processes spawned
by --multi whenever the parent dies. This is much more useful for
integration with a supervisor (like upstart) because you can easily
kill the collection without needing to use killall or --stop.
Rewrite CLI options handling

* Use argparse for option handling
* Remove global variables and put them under an argparse namespace
Add logging mechanism

* Replace 'print' statements with the appropriate log calls
* Replace sys.stderr calls with the appropriate log calls
* Remove global variable HUPTIME_DEBUG