Add additional ensemble tests to test peer syncing

Add `ensemble_basic4`, `ensemble_sync`, and `ensemble_interleave` tests.

`ensemble_sync` tests the new AAE-based peer syncing logic. The test checks various scenarios with different levels of data corruption.

`ensemble_interleave` tests a specific scenario where two peers become corrupted one after the other. This tests the scenario where the second peer becomes untrusted while the first peer may be syncing with it.

Sibling pull-requests: basho/riak_ensemble#14, basho/riak_kv#896