Function definitions working after the reorg.

The awkward parts left out of the basic type (structs and enums are not
implemented yet) are function pointers. This requires some tweaks to
the grammar to get the extra stars to work, then it should fit nicely
in the representation of a Type object.