=clu #3871 Harden SurviveNetworkInstabilitySpec

* The problem was that the unreachability observed by second node
  was leaking from previous test step and when adding the blackhole,
  it could not heal and that caused the leader to be able to remove the
  downed second node because some other nodes were still marked as
  unreachable.
* The first node was not included in the the awaitAllReachable check
  in the previous step, and the order of awaitAllReachable and
  awaitMembersUp was wrong.
* Included the awaitAllReachable check in assertCanTalk.
* Changed to two-way blackhole and using barrier instead of scheduled
  event to trigger the exceptions when the blackhole was in place
* We should investigate if unreachable observations from downed node
  can be excluded in the convergence check. Created separate ticket for
  that 3875.