Add init/final to AAE compare interface

Allow the remote compare function to have init and final steps for
performing additional actions before the actual compare. This was added
to stay consistent with the interface found in KV.

basho/riak_kv@931b7f3c46b7a44eeb70f902a0387e11a696a1d7
Remove duplicate ping
Replace get_short_preflist with get_index_n

These functions do the same thing and AFAIK the one in KV is more
efficient since it uses the binary ring.
Use KV's get_index_n

Use the KV version of `get_index_n`.
Use `get_bucket/1`

Use the `get_bucket/1` function in favor of `get_bucket/2` based on the
module doc in `riak_core_bucket`. The 1-arity function is more efficient
because it pulls the bucket properties from a cache that doesn't require
accessing the ring.
Add comment about AAE + ring resize

While going through an old KV commit I notice a try/catch was added
in the start_exchange method to avoid a crash of the entropy manage in
the case where exchange is attempted on an index that doesn't exist
anymore because of ring resizing. I disagree with the use of the
try/catch because it is too granular and it is sloppy. It assumes that
if an exception occurrs it is only for that reason. Interactions between
disparate systems should not be handled by try/catch + logging. We
should think carefully about how they interact and make sure to put in
the appropriate measures so they do not step on each others feet rather
than doing defensive programming. In this case the `maybe_exchange`
function could check to make sure that the index (partition) still
exists before performing the exchange.

basho/riak_kv@006f820665ecd779f7ef344454cfa91c8acc1494
Fix typos
Only get ring if needed

Get the ring only in the case that it is nedded.
Take ring resize into account during AAE exchange

During a ring resize there is a period of time where the `index_owner`
function may throw a badmatch error. The entropy manager needs to take
this into account and cancel the exchange in that case.
Merge remote-tracking branch 'origin/develop' into refactor/rz/port-kv-140-updates
Fix call to get_index

Now using the `get_index/1` function.
Add verification of orphan postings cleanup by AAE

There can be scenarios where Solr contains postings for KV objects which
no longer exists. This test verifies that AAE cleans those up as it
should. The test bypasses the regular KV get and just creates postings
in Solr and then verifies that AAE calls the repair function the correct
number of times.
Merge remote-tracking branch 'origin/develop' into refactor/rz/port-kv-140-updates
Merge pull request #282 from basho/refactor/rz/port-kv-140-updates

Port most of the KV 1.3.2-1.4.0 updates