Allow parsing of expressions in isolation.

Previously the only way to parse an expression was to parse a module
containing that expression. However, for better unit testing (as well as
later use in utilities) we now have a way to parse just an expression
and get back its AST directly.