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

**I need some other eyes on this.** Before this change, if all processes for a watcher with restart=false managed to quit, the state still said 'active'. That doesn't seem correct to me, but maybe it was intentional for some reason.