various simplifications in the code, improved doc, varoius minor fixes.

-maximum value of logsize is now # of bits in the hash type.
-got rid of "special" values invalidIndex/invalidHash and the mechanisms around them.
-Delete now shrinks when necessary.
-after deletion, removed value is zeroed (important when Value contains pointers, with this change GC will free such items).
-more tests: tests now cover majority of the non-trivial code.