Types.java: improve hierarchy and completeness criteria
DeclActions.java: rename Declarator.complete() to attachDeclSpecs()
DeclActions: validate _Complex + typespec combinations

Err for things like _Complex void or _Complex struct
Types.java: add a type visitor interface
DeclActions: skeleton for validateType() using a visitor
DeclActions: DeclElem support for all types

DeclElem used to only support DerivedType, which used to forced us to
use another class for the end type.
DeclActions: change the internal declare() to private
CParser.m4.y: generate a warning for _Imaginary
c99/CompEnv.java: holds compiler options and error reporting

Make it easier to separate compiler functionality without passing
everything around.
c99/Platform: support x86-style near/far/segment pointers