Change AAE to no longer delete trees until ready to rebuild

This is a port of riak_kv commit
5c346c347beb7459fe70e53275f958a68633f5fb

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.