First pass at consolidating tests : 2i

All tests that can run without modifying the cluster or taking nodes up
and down are run within verify_2i.erl now. All tests can
still run by themselves. Mostly they have been refactored to run given a
set of running nodes and a bucket name. Each test has a chance to set up
and clean up after itself.  When/if this merges, we can replace all 2i tests but mixed cluster
with this one. Mixed cluster will be added hopefully soon. 

/cc @kellymclaughlin @reiddraper 

This is just a tiny exploratory incremental step towards refactoring riak tests to make it smarter and specifically be able to run a short version of the integration tests for CI.  There is a *lot* more that can be refactored and optimized within the tests themselves, but I'm choosing not to go there yet and keep an eye on the goal instead of refactoring all the things at once.
If the Mod doesn't have a cleanup, this returns false. This means the final run has the possibility to return false even if it succeeded. Recent changes in r_t made the return meaningful. In short, the confirm or the run should always return pass if everything was okay, fail on fail. Otherwise:

    15:25:02.217 [error] Error in process <0.228.0> on node 'riak_test@127.0.0.1' with exit value: {{case_clause,false},
    [{riak_test_runner,return_to_exit,3,[{file,"src/riak_test_runner.erl"},{line,159}]}]}