Delete local refs of expression nodes as soon as possible.

In order to reduce the local ref requirements, we can delete local refs of expression nodes once they are translated. We cannot do the same for local refs of terminals, because they are needed for unbinding arrays when we are cleaning up.

This commit achieves the deletion of local refs for expression nodes by merging the stages of the tree translation (which is enabled to be done cleanly by the new memory management) and deleting local refs of expression nodes as they are popped off the stack of working expression nodes.

All coverage unchanged, except for build/jshim, which is up to 54.1% from 53.7%. This is because the `createExpression` function is not tested from the C++ side, and is shortened by these commits.