raft: add removed

The usage of removed:
1. tell removed node about its removal explicitly using msgDenied
2. prevent removed node disrupt cluster progress by launching leader election

It is set when apply node removal, or receive msgDenied.

#1016 
TestRecvMsgDenied tests that that state machine sets the removed list when handling msgDenied, and does not pass it to the actual stepX function.