Rewrite to support new pass.

Each reference to the PartialState becomes const, these will be updated on
the outside.

All SymbolTable* have been removed, no canonisation/insertion during the
parse. This will all be done during finalisation.

Broken code marked with TODO (fwd).
Decls propagate through.

processTopLevel catches the list of Decls to push into the PartialState.

The PartialState is finalised causing the Decls to be injected into the
SymbolTable as canonical refs.

Structure fields are held and passed through.
Pure definitions.

Also dumped into the PartialState without checking for hold-ups.

Same finalisation code as the decls.
Error path for tagnames in finalise.

Added a list of waiting tags that are blocked on forward references.