Ensure that C record types are filled in with the proper definition when
they are declared before they are defined.

Also fixes a problem where C record types would not show up even if they are not used by a function
in the same translation unit.

fixes #25 fixes #26