Give Node an evaluate-able repr.

This helps when writing tests.

Also, since Node no longer uses half of it, divorce Node from StrAndRepr, which I'm starting to hate. Really, I just hate Python 2's half-baked unicode integration.
Support parentheses in rules.

Rename "rhs" to "expression", since we now use it within the definition of parentheticals, which don't necessarily contain a whole right-hand side.