4139: Node Manager supports subscribing to shutdown events.

This is necessary to fix a race condition.  The daemon needs to be
able to track nodes that it has booted even if they don't appear in
listings.
4139: Node Manager more closely tracks nodes it boots.

When using Node Manager on EC2, we saw a race condition where a node
would finish setting up, but would not be returned in node listings
right away.  This adds a "booted" node state to the daemon, where a
node booted by Node Manager is assumed to be up and running unless it
disappears from the listing *after* being listed.  It's escalated to
the normal workflow after it appears in a listing.
Merge branch '4139-node-manager-race-fix-wip'

Refs #4139, #4275.