fixes from beets tree
add LazyConfig subclass

This lets a configuration object to be constructed as a module global but to
do all its heavy lifting (YAML parsing, etc.) to be deferred to when the
object is actually needed.