Made an exception pass on its cause rather than giving a snarky message.
Again, global expression was accidentally used instead of passed paramString. Bug fixed.
Fixed a bug that didn't add the last argument in 2+ argument expressions.
Changed SquareRoot to Root partly for generality and partly because it was the only camelcase function name, which gets in the way of easy name-guessing for parsing units.
Made the function name passed by the user case insensitive, as all functions defined already have a name in 'ucwords' format.
Updated Tester to use a Root instead of a square root.
Changed the location of the 'ucwords' action on the function name so that Variable and Constant are included.
Whoops, forgot to add toLowerCase() to the second part of functionName!