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.