Integrate with riak_ensemble, enabling strong consistency

This pull-request integrates riak_kv with riak_ensemble, enabling
single key atomic operations. This feature is not yet exposed over
any normal client interface, but can be used via riak_ensemble_client.

NOTE: The current implementation is not safe during handoff/ownership
transition.
Make consistent ops safe during handoff/ownership transition
Update riak_client to support consistent operations
Update PB client to support consistent operations
Update HTTP client to support consistent operations