Drop the bare names that were sprinkled everywhere in the generated AST.

This closes #162

We make sure not to drop *explicitly written* bare names.
Add tests for &key arguments in functions
Add &optional arguments.

Python doesn't really have that concept, so make them clash with &key arguments.
style tweak
Merge branch 'master' into pr/170
Merge branch 'master' into bugfix/paultag/fix-try-except
Try/Except: Ensure that we return properly

 From both inside a try and in an exception handler.