ExtensionRegistry clean up

Work oriented toward ensuring the ExtensionRegistry is put into a correct state when ops that modify it fail.

Primary JIRA is WFCORE-21; the other work is general cleanup of how this class works and is used.
We are not reverting the reload required. I guess since a remove needs that, re-adding it again puts the server in an even more unstable state, so there is not much we can do?