Improvements to better track the file and line of various constructs.
Several that previously were associated with the last line is now instead
associated with the first, which is more natural. Places that only tracked
the line without the file are also fixed; #include directives could in some
(fairly obscure) situations cause lines to be reported in the wrong file.