unifdef: trace -f activity only in debug mode
unifdef: refactor parseline()

Create functions for finding preprocessor directives and for skipping
trailing junk and non-preprocessor text. This simplifies parseline()
and it will also be useful in defundef().
unifdef: improve handling of weird whitespace

This fixes the handling of lots of whitespace on a line,
and restores proper handling of final lines without newlines.
tests: add missing if1.h
tests: check handling of weird whitespace