• Remove peek/push_back/unexpect, add Parser::reset instead.

    The new convention is that any parsing function returning `Err(())`
    may or may not have consumed any number of tokens from the input.
    
    Therefore, any the caller wishes to recover and try parsing something else,
    it should call `parser.reset(position)` where `position` is the result of
    `parser.position()` that was saved beforehand.
    
    The Parser::try helper does this for you by taking a closure returns Result,
    and resetting the position if the result is Err.
    SimonSapin committed Jan 16, 2015