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.

This commit doesn't really "fix" the issue, but is a valid workaround, s.t. things as reported it #302 won't happen again.
Better not to throw `SystemException`. See http://msdn.microsoft.com/en-us/library/system.systemexception(v=vs.110).aspx