feat(peer_server): stop service when removed

It doesn't modify the exit logic, but makes external code know
when removal happens and be able to determine what it should do.

Previous discussion could be reviewed here:
https://github.com/unihorn/etcd/commit/b5f14ad85a45072980b887647ab0dca6d49e7057

split from #764