PEP 8 compliance
Add boolean flag for including all nodes

Previously, all nodes were output, including whitespace-only nodes and
comments. Now, these are hidden by default unless the -a flag is passed.
Make usage message correct
Make script executable
General code cleanup