Optimal BST

ShortestPaths - Bellman-Ford working. Dijkstra's may be buggy.
Minor updates to HuffmanTree related to using ComparableAdaptor to
compose non-Comparable data with a Comparable key.
Optimized Knapsack by dividing all values through by the GCD of the item
sizes and knapsack size in a pre-processing step.
Name changes: Tree->StaticTree, Node-> StaticNode