Adds infix_expression parser

This adds an infix expression parser that uses the precedence climbing
algorithm directly to parse infix expressions.

This should eliminate the need for left recursion where one reaches for
it most often.
1.8.7 drop notice