Allow daemons to "hibernate", reducing pool size to 0 for a time
Summary:
Ref T12298. This change is the libphutil changes to support hibernation. The next change makes the Trigger daemon hibernate.
We already support having daemons exit, waiting a little while, then restarting them. We do this when configuration changes, by sending the daemons a signal. They exit, then we restart them a few seconds later.
This allows daemons to send a message to the overseer saying "when I exit, wait X seconds to restart me". Then they can exit and hibernate for a while before the overseer restarts them normally.
Test Plan: See next change.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T12298
Differential Revision: https://secure.phabricator.com/D17407