LL(*) and other goodies

The LL-star code has a lot of TODO's and parts which could be implemented more efficiently (at least theoretically). But it should work for smaller grammars and our current purposes.