Added structs properly.

The Type class includes full information to describe the structure,
but it does not initialise it yet. The lexing and parsing seems to
work. There is a slight divergence with the spec as init-decl-lists
are not optional, instead there is a special case for struct
definition.