WIP Handle SIGHUP

Here's a work in progress of handling SIGHUP gracefully.

Currently test's aren't updated with the new code, so they will fail. I'm looking for review because there are some rough areas (in particular all the mutexes).

It will keep open TCP Input's listeners and connections upon a SIGHUP, and then return them after heka re-initializes. Any listeners which no longer have a plugin which matches the current config will be closed after re-initializing plugins.