Variable (global and local) completion working*

* works pretty well with small files. Problem right now is that
basically everything is reparsed while typing, so when you reparse a
22000 line file, things get pretty sluggish.

Some other work done to fix some grammar issues, and fix some bugs in
the syntax error tagger and outliner.