Bug fix for deletion in the concurrent tree. The original tree implementation
has a special purpose for the 'nodes' and 'hits' fields of the TreeTrashNode.
The 'nodes' field stores the accumulated number of non-leaf nodes that have ever
been placed into the trash. The 'hits' field stores the accumulated number of non-leaf
nodes that have ever been removed from the trash (ie deleted). It must be true
at all times that 'hits' <= 'nodes'. With this patch the Concurrent Tree adheres
to this logic so that switching back and forth between trees is possible.
Unit tests added to the Concurrent Tree for the TreeTrashNode behavior.