efbp: Plug Bootstrap while priming to avoid premature execution
schedule: Reduce scope of Scheduler interface

No-longer extend from Controller. The intent was never that commands
could be submitted via the Scheduler interface. Instead, make
DefaultScheduler implement Controller, and pass the DefaultScheduler
type around where necessary.
schedule: Remove unused PeriodicTask interface from Scheduler
bootstrap: Extract StopCommand from Bootstrap to HaltCommand
efbp: Rework to support organic network halt

The network Pump now learns of Producers and Consumers in the network
and listens for shutdown events from these components. Once all
registered Producers have been shut down, a ShutdownCommand is
propagated through the network to the Consumers. Once all Consumers have
registered the shutdown event, the HaltCommand is propagated to the
Bootstrap component and execution comes to an end.