Lexer, Nodes: Use ES syntax for exponentiation ** and **= operators

The exponentiation operator, e.g. x ** y, was adopted as part of ES2016 and is supported by Node 7.5+. We currently compile this into Math.pow(x, y), but we can now output it as x ** y. Likewise for our **= operator (which is the same as a = a * a).