(Added core.BugException, and used it instead of raw RuntimeException-s where appropriate.)
Removing the "synchronized"-s from before those few Configuration methods that had them. Configuration-s were always only thread-safe as "effectively final" objects, i.e., after proper publishing. As these syncs has no counterpart on the reading side, they doesn't change that. To maximize BC, I have moved these synchronizations inside the methods instead of removing them, so if something was accidentally worked due to the CPU cache flushes it causes, it will keep working. But that's synchronized is not visible in the API, and so won't give the false sense of thread-safety.