New approach started:
 - use compressed trie
 - prepare overall structure
Implements
 - calculateWeights()
 - edge.deepCopy(startNode), node.deepCopy()
 - edge.sub() // SUB(T,v,a)
 - Logger.err, Logger.log
Implements
 - Node.mergeNodes()
 - test cases for Node.mergeNodes() in TestMergeNodes
Adds more complicated test case for TestNodeMerge
Set node depths relative to the root of the heavy path.
Each root node of a heavy path has depth=0
Implements building k-mismatches index.