First draft of multiprocess collectd

Collectd starts a configurable number of worker processes
and routes incoming data to workers based on source ip.
Merge branch 'master' into multiprocess_collectd

Conflicts:
	bucky/cfg.py
Create separate class for singe/multiproc collectd

- Wrap all collectd functionality in CollectDHandler.
- Add a distinct CollectDServer single processed class.
- Add a CollectDWorker that plugs a CollectDHandler between a pipe
and a queue.
- Add a CollectDServerMP class that starts workers and routes
  incoming packets based on source IP address.
- Add a getCollectDServer helper function to get the appropriate
  server class based on number of configured workers.
Update README about collectd multiprocessing
Handle signals more gracefully

Handle KeyboardInterrupt more gracefully in general.
Make CollectDServerMP gracefully handle SIGTERM so that the
worker subprocesses also die properly and don't become orphaned.
Merge pull request #48 from dimrozakis/multiprocess_collectd

Multiprocess collectd