Handoff manager EQC testing

Starting with code written by @jrwest long ago, @aberghage and I have created a more comprehensive test suite using `eqc_statem` for `riak_core_handoff_manager`.

Tests include:

* Add outbound and inbound transfers
* Disable future transfers using `riak_core` environment variables
* Control concurrency level using `set_concurrency`
* Retrieve concurrency level using `get_concurrency`

Near-term plans for extending this:

* Test transfer lifecycle (errors at start or during transfer) as part of Alex's improvements to error status management #630 
* Test the more sophisticated enabling/disabling transfers as part of Alex's branch `feature/atb/handoff-enable-disable`
* Test resize transfers

I strongly disagree here. 'm saying you should always be precise in what you check for. Otherwise you have let unknown bugs creep in. What is the type returned by current_concurrency() here? Is it the same type as what it's declared as elsewhere? My guess is that it's defined (or should be) as non_neg_int(). You want to know if current_concurrency ever goes below 0. That's an invariant violation. You have no idea how that will affect you. The code (and dialyzer) should be preventing that, but if it's not it should crash if it ever sees that value because it's unexpected. Accepting that value leads to it being used in other code where the assumption that it's never less than 0 could be made. It doesn't matter if the code is test or production, you still want to type things properly and check for values that match that type.