* Delegate emit_enum_struct_variant calls to emit_enum_variant
read_enum_struct_variant delegates calls to read_enum_variant which
expects u32 prefix to encode a variant number. Previous implementation
of emit_enum_struct_variant doesn't emit it, making serialized data
invalid.
* Add test to check manual enum encoding
* Removed unused import warning
* pub use InvalidEncoding in serde+rustc_serialize
* Made both fields of InvalidEncoding public so it can be used without Display or Debug traits (e.g. pattern matching)
* Export of InvalidEncoding in rustc_serialize/serde make them visible in `cargo doc`