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.
Yeah, I should just get rid of this method and the javadoc comments and if someone hacks their way to this interface, they will just have a failure. Why would someone hack their way to this interface, then call this method, and then give up whatever they were doing? Code like that would be useless.