Make AAE hashtree updates synchronous to add backpressure
Close AAE iterators before closing AAE backends
Update AAE hashtrees to expect new LevelDB error handling

Recent eleveldb work changes how eleveldb responds when iterator_move
is passed an invalid or closed iterator. Previously, the error tuple
'{error, invalid_iterator}' would be returned. Now, a badarg exception
is thrown. This commit updates how AAE calls iterator_move based on
this change.
Minor changes to riak_kv_index_hashtree based on code review

Remove now-dead handle_cast clauses for insert, insert_object, and
delete in riak_kv_index_hashtree that were moved to handle_call in
order to introduce backpressure.

Make explicit the requirement that the IndexNs parameter passed to
start/3 and start_link/3 must be a non-empty list. Various code in
riak_kv_index_hashtree is written assuming this condition.
Merge pull request #472 from basho/jdb-aae-fixes-rb