Wrote intitial implementation of context tree

It compiles and I've some test code.
Context tree runs. Currently incorrect graphs are constructed
Increased efficiency of context trees and passes all tests

Added a B-Trees as subtrees for efficiency gain. All tests related to
the context tree itself are passing, although I need to find out how
to treat unseen tokens. Current issue is that the javascript front-end
sends lots of spurious data which causes the tree to include many null
nodes and single character nodes.
Merge of feature branch 'CTW' (Context Trees)