Finish implementing peer syncing behavior

This pull-request finishes implementing proper peer syncing behavior, addressing issue #8.

This pull-request builds on top of #10. Since #10 has not yet been merged to develop, I've submitted this request against the `jdb-ensemble-overhaul` branch. We'll just merge both branches to `develop` after review.

Sibling pull-requests: basho/riak_kv#896, basho/riak_test#573

More detailed description of the changes made in this branch can be found in the relevant commit messages.