More progress on TableSpec_cnf internals

The internals of the TableSpec_cnf are now much more robust, preserving
the API and handling back compat issues. This code is designed to be a
bridge to make the next planned stages of refactoring easier, and it not
meant to be the final design (but keeping the public API). See in-code
comments for more details...