Fixes #469.
Adding this as an option to avoid breaking people's tests. Some of the test results show pretty clearly that we are incorrectly assigning the same comment multiple times for nested nodes (mentioned in #36).
Not that it makes much of a difference, but could have caused issues with "out of order" visiting of nodes.
This changset also adds unit tests for Comments and adds a way to test the pretty printer.