Support for partial parsing

I separated the parser from the grammar, added support for partial parsing, and exposed it to the CLI.
Now you ca do this on the cmdline:

```
[pash:~/workspace/Pash][15:35] % if ($foo)
if------>> {
if------>> 'bar' 
if------>> } else {
else---->> 'baz'
else---->> }
-------->>  
baz
```