Add parse_node_free_struct() and use it to free parse tree after compilation.

TODO: Check lexer/parse/compile error path for leaks too.
py: Optimise generated code for working out line numbers.
Merge branch 'free-parse-tree' of github.com:pfalcon/micropython into pfalcon-free-parse-tree
Implement mp_parse_node_free; print properly repr(string).