A value class for Precedence.

One fewer Int to be whizzing around the parser hoping to
be confused with other Ints.
Rewrites the parser stack reduction logic.

Centralizes the scattered logic surrounding erroneous
pattern syntax. Consolidates the redundant lookahead
implementations. Eliminates var manipulation in favor
of recursion.
Parser stack reduction discussion

Check files
Parser stack reduction peekingAhead

Restores a form of the previous peekAhead bookkeeping.

Instead of tracking the current token and offset outside
of xxxAhead, peekingAhead uses `in.prev` and will push
back if the operation results in an empty tree.
Merge pull request #3100 from som-snytt/paulp/reduction

Paulper stack reduction