Add AAE rebuild throttle

This commit adds a configurable throttle to the AAE rebuild code path.

The throttle is set via the riak_kv/anti_entropy_build_throttle appvar.
The value is expected to be a tuple of the form {Limit, Wait} where Limit
is specified in bytes and Wait in milliseconds. The throttle will cause
the async fold process that performs the rebuild to sleep for Wait ms
after processing Limit bytes.
Change AAE to instantly build trees for empty vnodes
Make it possible to disable AAE tree expiration

AAE tree expiration is now disabled if riak_kv/anti_entropy_expire is
set to the atom 'never'.

This commit also adds riak_kv_index_hashtree:clear/1 that can be used
to manually clear a hashtree, including when automatic expiration has
been disabled.
Make riak_kv_index_hashtree flush AAE trees on close/termination
Clear AAE exchange queue when switching to manual mode
Change AAE to no longer delete trees until ready to rebuild

Before this commit, AAE trees were immediately cleared after reaching
their expiration time. However, trees would not be rebuilt until some
time in the future depending on rebuild concurrency, lock acquisition,
etc. Until rebuilt, AAE exchange was impossible.

This commit changes rebuild logic to separate expiration from
deletion.  Once a tree reaches it's expiration time, it is marked as
expired but not cleared. AAE exchange against this tree can still
occur. Only after an expired tree is actually scheduled for rebuild,
and successfully grabs all necessary locks, is the tree cleared.
Fix bug/typo in riak_kv_entropy_manager: auto vs automatic
Address review comments: coding style + added logging
Refactor AAE rebuild throttle logic
Merge branch 'jdb-aae-improvements' into develop

Conflicts:
	src/riak_kv_index_hashtree.erl
	src/riak_kv_vnode.erl