*Properly* translate enum variants.
*Properly* translate enum variants.

Now accounts for duplicate values (which Rust doesn't like), enums with
only one variant (which Rust doesn't like), and re-exports the variants
into the containing scope (which Rust really has no problem with, but
associated consts aren't read yet).

DanielKeep/rust-win32-bindgen,DanielKeep/rust-win32-bindgen,DanielKeep/rust-win32-bindgen,DanielKeep/rust-win32-bindgen