Tighten the union type representation.

Use an option instead of a bool.
Merge pull request #63 from yallop/split-out-structs

Split out the struct building interface
Stub-generating implementation of the struct-building interface.
Test retrieving struct layout from C.

The plumbing needs some work, but the basic idea is there.