Fix issue #51: make str/expr functions reversible

Change str(expr) so the output is valid Python syntax, and it is
parsable in reverse by the expr function.

Future updates will introduce new functions to output the expression
using Latex and Unicode.
Don't fuck this up