Minor tidies

Including making compiled constructor function toString()able, and
making matchers use unification. Which is a fancy way of saying values
given in the env must match exactly (I don't think this behaviour was
even defined before).
Try to prevent accidental globals

`mocha --check-leaks` doesn't appear to be very effective, but `'use
strict';` certainly is. Needs a newer version of mocha for the former.
Use 'use strict'; in generated code too