serialization improvements for TreeNodes.  just the tip of the iceberg but these changes show about 3-5% reduction in serialized page size.
remove unused dependencies
support legacy and new page encoding schemes using page header flags
more logic for handling legacy vs sparse encoding schemes
more logic for handling legacy vs sparse encoding schemes
- need to make sure default encoding is in place
- use default byte buffer allocation class
release bytebufs as needed
do not create db keys on tree-cache hits

they aren't super cheap and it kind of defeats the purpose of lazily initializing that field. (creating them involves serializing the string-name of the node / allocating a byte[] for it).
use custom serlization for DataKeyTopper.  This change alone reduce my output size by 10%
custom serialization for DataCounting
save a few bits by using a 1 bit flag to indicate if a node has data attachments or note.  in the majority case we will use 1 bit instead of 1 byte for a var length integer showing 0.
remove bytes that I thought were bits...
smarter encoding scheme for nodes.  do not need note count and bits if nodedb is null
do not persist minKey, minVal, or lossy

they are completely unused and merely leftover from serial
compatability with non-concurrent key topper. Together they pretty
much double the size of key tops with only one entry, and still
rather drastically oversize similarly low ones.
trying to protect against strange encoding/decoding errors in ConcurrentKeyTopper
custom encoding for data time and map components
Merge branch 'sparsepage' of https://github.com/addthis/hydra into sparsepage