Rework shutdown

This set of patches is intended to make sure that the agent will reliably stop after a reasonable time if it has been requested to, even in some corner cases.

I removed the counting of shutdown requests: One request needs to be enough in case of for example a shutdown of the host or an automated restart.
I know what this flag does but I'm not sure this would make sense to somebody else.  Does this make more sense to you?

`How many seconds the agent should spend attempting to inform the master that it's shutting down.`