This is probably the most complex CR in the series, but the new code is
still obviously much simpler and more easily verified as correct than
the old version.
This CR modifies the config structures to be instantiated simply through
their constructors, rather than through the transactional
begin/propose/precommit/commit structure which existed before.
Although this CR produces a bit of churn, is it he last real obstacle to
removing a large swatch of otherwise unused code.