Efficient single inheritance with traits.

Efficient single inheritance via virtual structs and unification and nesting of structs and enums. In contrast to #142, this RFC uses traits for virtual dispatch rather than a custom system around impls. The parts of the RFC about nested structs and enums are identical to #142.
Ah, whoops I got the isa relationship here backwards. I think I was playing a little fast and loose with the example, but actually this is just wrong in some places. I'll update.