* Remove unneccesary unwrap
* Use a single buffer for reading a char
* Replace while loop with read_exact
* Remove first_byte variable
* Use read_exact to avoid waiting for data after EOF
* Create error in a closure
* 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
* Smarter deserialize_bytes
* Make read_vec faster by pre-allocating the correct amount of space.
Also, call visit_bytes in deserialize_bytes rather than visit_byte_buf.
* 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`