Comment localization

If comments are on their own line, they are attached to whatever node *follows* them; otherwise, they are attached to the node that precedes them. This requires two separate traversals per comment. The location of attachment is stored in a `ComInfoLocation` data structure which is either `Before` or `After`. 

This takes care of #12. Module headers are not yet supported, but I have another nearly-ready PR that I tested this code with, and it does indeed take care of those cases nicely.