SCHEMA-316. Undo SCHEMA-310.

Misunderstood the semantics of the removing of idle tables. In the process,
cleaned up some of the code to improve re-use and not break encapsulation (even
on internal classes).

Reviewed by: taton