per-key actor epoch (kv679) rebased on 2.0

See original PR for discussion, rebased for easier merge (before squashing.)

This PR addresses most of the comments from the original PR at basho/riak_kv#1040
I can look at some further testing on the vnode changes. 

For the testing of the blocking portions of the protocol, this is perhaps relevant or might present some ideas. I wrote [this](https://github.com/basho/riak_cs/blob/develop/test/riak_cs_gc_d_eqc.erl#L105) property to exercise the riak cs gc process api. Also happy to rubber duck more about it if you need.