share segment store accross all nodes in hashtree_tree

this ensures that we don't create an unbounded number of segment
stores (leveldb databases), instead only creating one.

addresses #428 

exports `hashtree:new/3` so that each level can still pass different size options