Splitting the C model code into three parts.

The init module handles the first parse and so contains all of the
dependencies on ANTLR. The final module is a clean (no dependencies)
data-model of the C type system and scopes. The build modules makes
the later from the former during the second parsing pass when
statement ambiguities are resolved.

The final module is still a skeleton, the old data-storage in the
TranslationU class has been replaced by the new SymbolTable class.
There is an arbitrary ordering defined on types so that a canonical
set can be built within each SymbolTable.

The first stop is building the global SymbolTable from the (unambiguous)
external declarations that have been parsed into Decl objects. The
purpose of these objects was originally to model identifier type
bindings in the program. This will now be handled by the canonical
set in each SymbolTable and the stl maps that store names.