Debugging the rewrite.

TypeAnnotations store the information that will not be transported around
within every DataType, but is needed initialially to decide on how to
store the declaration within the TranslationU. The decision comes down to
whether or not the information should produce a difference in DtComp. If
not then it is something for the TranslationU and should be passed back
via the annotation.

Added the const flag back into the DataType.

Handled the array counts properly: number of dimensions rather than size of
the size as I tried first time around. This weaker model looks feasible to
extract.