Cache op term on syntax object when enforesting rhs

There was a bug in infix matching when a macro immediately follows an operator and tries to match the lhs with an `expr` class. Lookbehind matching requires the term be tagged to the syntax object so it can check for term splitting and so it doesn't have to try and reenforest an expression. The term was not being tagged on the temporary term for the operator when enforesting a `BinaryOp` and `UnaryOp`.