Refactor and fix process restart handling
Add EXCEPT_SYSTEM_RESTART process restart mode
Add PD Doctor role

Elected leader that monitors and manages PD and resource
health. So far it only coordinates PD initialization and
system restart.
Expose a dashi operation for setting PD boot flag
Tests and fixes for doctor and system boot
Add epu-zktool script for ZK management in boot
Refine process restart modes
Minor PD cleanups
Add cleanup option to zkcli
Move non-restartable processes to TERMINATED

under system restart
Move system restart process control to config dict

Instead of using new RestartMode values.
Add comment to explain how we get eeagent name in PD
Fix process state docs
Clear out EPU-layer data in ZK setup step

And add tests
Rename nosystemrestart -> omit_from_system_restart
Merge pull request #4 from ooici/restart

Process dispatcher system restart support
Fix incorrect HA status calculation
Add a better test for _set_status in HA Service
Rework PD terminate_process

- better validation of parameters
- don't try to terminate any process in a terminal state, not just
  >= TERMINATED
- log process state changes
- fix race where TERMINATED heartbeats could be received before
  TERMINATING state was set -- this resulted in the PD assuming
  a erroneous termination, and restarting the process!
ooici.net is not reachable anymore