Documentation for the Closure_properties module.
Merge pull request #57 from yallop/closure_properties-doc

Documentation for the Closure_properties module.
Split compute_union_padding function.
Move arg_type to Static.
Perform bufferspec building entirely in the seal function.
Simplify the sealing of unpassable struct types.
Compute field offsets when seal is called, not when fields are added.

This is a change of semantics, and means that the offsets are not available
until the struct is sealed (which is unlikely to be too restrictive in
practice).  Unfortunately, there's now an extra check for None during field
access.

The change in semantics gives us the hook we need to overload seal for stub
generation.