Categorize missing/wrong symbols by type.

This means that in a generated inventory, missing or incorrect
typedef names, constants, structure fields, global variables,
functions, function-like macros, and "special" symbols will
each get their own $M/$W/$X line and will be labeled as such.

The change to netinet_in.ini removes a stray section header with
no contents; nothing cared until now, but now it trips an assertion.
Rename [structs] tests to [fields] tests.