Define variants in a sub-namespace of their enum

[Rendered](https://github.com/sfackler/rfcs/blob/enum-namespace/active/0000-enum-namespacing.md)
I do hope that we can allow inherent methods to be subject to `use` as well -- but certainly if we went this route, it would *have* to work for variants to be tolerable. In general I'm happier if we can make variants "just another" kind of associated item.