Port most of the KV 1.3.2-1.4.0 updates

This addresses most of #168. I still need to change the index list to be stored in cluster metadata so that Yokozuna can stop relying on ring events. That will be done as a separate PR rather than make this one bigger.

I performed a micro benchmark and there was no noticeable difference between before and after. Which is fine, I didn't necessarily make all the perf optimizations that were made in riak core as they are a bit tricker in Yokozuna.

* Use Riak KV's `get_index_n` instead of custom one.

* Add init/final to AAE compare API.

* Use `get_bucket/1` instead of `get_bucket\2` to make use of bucket cache.

* Add comment about AAE + ring resize (also see #279).