Add better tests for old vs. new file/line field names

This commit adds some more rigorous tests to make sure that the
old sourcefile/sourceline field names work in v1/v2, and not in
v3... and also that the new field names work in v3 but not in v1/v2.

Also fixes some bugs that were making all three versions of the
endpoints be a bit more toleratnt of those field names than
they should be.