Change the unit type to have size 0.

Notable issues: unit/bool confusion on for loops' return types, fixed mostly by @nikomatsakis; vectors and oldcomm pipes expecting nonzero size, fixed by introducing and using "nonzero size of" (greater of actual size or 1); and a few places that assumed all `T_struct`s would have at least one field.

Fixes #808.