Due to historical reasons, the default options used by bincode for the
helper functions at the root of the crate differ from the options in
the `config` module.
Changing the default options is a breaking change, so until a decision
is made, we can at least document the current behavior.
Break up the config module into one submodule per configuration
option. This commit also changes the default configuration with
the new options system to be varint (the old system still uses
fixint to preserve backwards compatibility).