Add a Configurable.discover_config() hook to probe the environment.

This is called on a configuration without defaults, once, after
replace_config() happens.  This allows Configurable modules to try
to come up with better-than-default values from the environment, etcd,
ZooKeeper, &c.