Make get_put_monitor_eqc deterministically pass

 * Change check_state to be the optional invariant callback.
 * Just return true from postcondition since it was only used to check
   the state.
 * remove unneccessary `timer:sleep/1` calls
 * Poll for folsom stat changes instead of relying on timer:sleep. This will fix
   the test on slow machines such as the builders. It also makes the test
   run a lot faster as it no longer sleeps arbitrarily.
 * Move test initialization out of the initial_state callback
 * Log the metric that failed for invariants
 * Poll active stats during get and put fsm shutdown/exit since the
   count needs to be decremented
 * swap ordering of monitoring the pid and sending it a kill msg in
   `end_and_wait/2`
fix test failures relating to asynch folsom updates

 * process errors also decrement the active process count, so poll for
   those
 * syncrhonously run the noproc tests to avoid races
 * Run tests for 5000 iterations
 * Cleanup non-idomatic assertions in invariant/1
proper use of pretty_commands and exit cleanly
Merge pull request #857 from basho/bugfix/ajs/fix-get_put_monitor_eqc

Make get_put_monitor_eqc pass deterministically