Enhance functionality of watchers with respawn=false

If all processes have stopped, self._stop() is called to make it official
If start is called, processes are spawned to get the count back up to numprocesses
Add pending_socket_event property
Match on DEAD_OR_ZOMBIE and UNEXISTING instead of just DEAD_OR_ZOMBIE
Document the ability to respawn with the start command
Merge pull request #678 from scottkmaxwell/restart_false_enhancements

Enhance functionality of watchers with respawn=false.Allows `start` to respawn processes that have stopped.