Massive Rewrite Part II

Structs that are pure definitions are now handled correctly. A private
namespace exists inside the DataType object and the fields lists are
pointers to canonical instances within that private SymbolTable. The
tag map in the outer SymbolTable is correctly updated to point to the
record type.

Still to do; records within declarations, unions and the function
processing that existed before.