* add option and config traits
* thread options everywhere
* add WithOtherLimit, WithOtherEndian, and update internal to take advantage of it
* wip
* add rest of the public API and fix tests
* dtolnay feedback
* remove serialized_size_bounded and replace it with a use of config
* remove inline from trait method
* finish documentation and add custom reader support
* minor config_map refactor
* doc changes
* add with_(de)serializer functions and their associated modules
* Remove rustc_serialize support
* Add changelist and bump version number for alpha
* Move refbox and friends into own module
* update changelog
* update travis config
* move serde functions out into global namespace
`char` in rust is 32-bits long, but is encoded using utf-8. Previously,
bincode would assume the worst and say that chars are 4-bytes long
always, when in reality, they are often only 1 byte long.
This commit fixes that bug, adds a test for it, and does some general
cleanup in the library.