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.

This pull-request has a sibling `riak_kv` pull-request that will be added in just a moment. There are also related riak_tests that will be available soon.

More detailed description of the changes made in this branch can be found in the relevant commit messages.