Made parsing robust to internal parser errors

Some syntax, like `"foo".Contains(o)` caused the Parser to crash
and reach an invalid state. Though the syntax is wrong, the parser
shouldn't throw an NPE, but return errors instead.
However, until this is fixed, we need a fallback to reinitialize the
parser, so Pash doesn't also get in an invalid state.
Changed exception type when parser crashes
Merge pull request #305 from sburnicki/parser_error

Made parsing robust to internal parser errors