Mathops extension

This changeset modifies the `mathops` module by adding a `math_rpn` function which provides access (in an easily extensible way) to many more operations than the default `math_eval` parser, especially functions (the need for `exp` was the reason I wrote this). The `math_rpn` parser produces its output steps the way the original `math_eval` parser does, so that if the parsing is ever moved to fixup-time, the computed steps can be used without regards for the parser.

(The `math_eval` parser could also be modified to support the new operations but I didn't try to do that since the RPN syntax achieved what I needed.)

Submitting for review.