Improve documentation of passes.py.

Use doctest to validate documentation and improve tests.

Add a new backend, Python, based on unparse.py to dump the tree as
python code.

Fix a minor error in Exception else: handling thanks to this :-)