replacing asserts with Exceptions, and allowing yakonfig.set_global_config to be called multiple times to *change* the config