Merging branch 'skiplist-newdelete' into master.
Simplified skip list cache page deletion algorithm.
Always load the previous page from external storage into
memory prior to deleting a page in order to fix the nextFirstKey
value. Eliminate the 'nextFirstKey' internal repairing mechanism
it is clumsy and not shown to be correct.
Hardening of the concurrent tree unit tests.
Bug fix to skip list cache deletion algorithm discovered
by new unit tests.
Minor cleanup of ConcurrentTree#nextTrashNode() and
ConcurrentTree#recreateTrashIterator(). Close the iterator
eagerly instead of lazily when no more elements are detected.
No difference to correctness of algorithm.