parser: Fix statement error recovery
Parser.rollback () can only be used to move *backward* through tokens,
not forward. When we run into a ParseError while parsing a statement,
'begin' points to the start of the statement, and 'e_begin' to the error
location inside the statement. 'rollback (begin)' is then justified,
since we're rolling back to the start of the statement; but moving to
'e_begin' again can not be done with 'rollback (e_begin)'.
Because we failed to seek forward, an syntax error could send us into an
infinite loop. Use Parser.jump () instead, which moves forward through
tokens.
Regession of
f5934184d050d1a19f394fdab6f2ee66ff30965f
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1590