Fix an issue where daemons can stick in a pool
Fix an issue where daemons can stick in a pool

Summary:
Ref T12331. Root problem is the `unset($daemon)` just unsets a key in a local variable, rather than actually discarding the daemon.

Add some logging to make this more clear and clean up some `%d` vs `%s` stuff.

Test Plan:
  - Ran a pool with `bin/phd debug task --pool N`, let it scale up, let it scale down, used `bin/worker flood` to add more tasks.
  - Before patch, the ghost daemons took up the slots in the pool.
  - After patch, the ghost daemons got removed properly and were replaced with fresh daemons.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12331

Differential Revision: https://secure.phabricator.com/D17433

r4nt/libphutil,codelabs-ch/libphutil,codelabs-ch/libphutil,wikimedia/phabricator-libphutil,aik099/libphutil,wikimedia/phabricator-libphutil,codelabs-ch/libphutil,uber/libphutil,uber/libphutil,Khan/libphutil,devurandom/libphutil,uber/libphutil,Khan/libphutil,uhd-urz/libphutil,uhd-urz/libphutil,devurandom/libphutil,r4nt/libphutil,aik099/libphutil,r4nt/libphutil,aik099/libphutil,devurandom/libphutil,wikimedia/phabricator-libphutil,uhd-urz/libphutil,Khan/libphutil