Graceful shutdown on TERM signal

This PR adds a graceful shutdown to `mcollectived`.

When receiving the `TERM` signal the server stops processing new messages and waits a configurable amount of time for any running agent threads to finish processing.

My use case for a graceful shutdown for updating the mcollective installation from within an agent action.

@ripienaar The code can definitely be improved. I didn't really understood how you manage the `log_code` PLMC symbols. But what do you think of this feature in general? Any chance considering it?