[FAB-13367] Fix flaky etcdraft UT
[FAB-13367] Fix flaky etcdraft UT

In raft, to commit a message, leader firstly broadcasts
MsgApp to replicate data, and once it receives MsgAppResp
from quorum, it
- applies message to state machine
- broadcasts another MsgApp to instruct followers to commit
and these are done in parallel.

To emulate situation where a node is disconnected *after*
config block is committed and *before* node add/remove in
that config block is proposed to raft, `WriteConfigBlock`
stub on leader was overloaded to disconnect node from the
network, so that ConfChange is proposed but dropped.

However this becomes racy when we want to assert the config
block is committed on followers as well, since we might
disconnect leader too fast, and cause the second round of
MsgApp to be dropped, so that config block is not committed
on followers. This is fine in real case because new leader
will continue the effort to commit this block.

To circumvent this flakiness, this CR changes UT to overload
`StepStub` instead of `WriteConfigBlockStub`, so that we can
be more precise on when to disconnect a node from network.

Change-Id: Ic1b7d28c043e779c7cc258c2e08bfaa3578bc429
Signed-off-by: Jay Guo <91d7eeb83d08be0dc56ea674009c4b53383e15b3@gmail.com>

stemlending/fabric,muralisrini/fabric,manish-sethi/fabric-sidedb,muralisrini/fabric,binhn/fabric,manish-sethi/fabric,manish-sethi/fabric-sidedb,stemlending/fabric,jimthematrix/fabric,manish-sethi/fabric-sidedb,muralisrini/fabric,manish-sethi/fabric-sidedb,stemlending/fabric,stemlending/fabric,manish-sethi/fabric-sidedb,hyperledger/fabric,binhn/fabric,jimthematrix/fabric,hyperledger/fabric,manish-sethi/fabric-sidedb,binhn/fabric,manish-sethi/fabric-sidedb,manish-sethi/fabric