The config module exposes a Config struct, unused for now.
It only reads the config file local to the repository, but handles all valid
patterns and includes/unsets.
It is structured in layers instead of erasing by reverse order of precedence,
allowing us to transparently know more about the config for debugging purposes,
and potentially other things I haven't thought about yet.
This change also introduces format_bytes! to hg-core.
I don't think we should be talking about layer in the higher level API. Whats your motivation for it ?