Strip off comments on the fly

It became apparent that this is necessary when thinking about line
number reports in error messages. Removing all the comments beforehand
makes line count being off, so this has to be done on each line read.
Skip blanks and comments within a class listing
Make each line be read explicitly