add ensemble_remove_node
Test cluster state and root ensemble members after node leaving in ensemble_remove_node
remove outdated print statements
ensemble_remove nodes k/v ensemble checks

Ensure that k/v ensembles reconfigure to exclude a leaving node before
that node transitions to exiting status.
A second test for node removal / kv ensemble changes
check ring state for ensemble_remove_node
prevent non-deterministic failures in ensemble_remove_node2

Add a wait_untiL_stable call right before the last read from the root
ensemble.
Extend ensemble_remove_node2 to test shutdown

ensemble_remove_node2 uses an intercept to prevent a riak_ensemble
related transition that is necessary for nodes to completely exit and
shutdown after removal. In fact, testing for this scenario is the
entire point of this test, since it is testing logic that was added to
solve basho/riak_core#572 and that logic prevents nodes from exiting
until that transition occurs.

However, even without this new logic, there is an unrelated
riak_ensemble related bug that can trigger a race condition that also
prevents nodes from shutting down.

The good news is that other changes made as part of the solution to
solve basho/riak_core#572 also fix this unrelated bug. Therefore this
commit extends ensemble_remove_node2 to remove the intercept at the
end of the test and verify that the removed nodes do actually end up
exiting as expected. Thus, the test now tests for both the negative
and positive scenarios and serves as a test against future regressions
that stall node removal/shutdown.
Merge pull request #593 from basho/ajs/ensemble_remove_node