* Make Reader and Writer generic on Endianness
* make alternate API modules
* add test asserting that big endian encoding is different from little endian encoding
* clean up tests
* 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`