lol
Added "smart parsing" within CNF

This implements the algorithm I came up with recently to only compute as much of
the parse as is actually necessary to determine the "best parse" according to
some ordering, which is required to be defined so that a function from parse
trees to the set of ordered elements grows monotonically with respect to their
ordering and the partial ordering on syntax trees in which t1 < t2 if t2
contains t1.
Added smart CFG parsing, cleaned out sorted stream

This version won't compile. I'm about to add the submodule dependency.
properly instantiated sorted streams submodule