Rework of commodity classes and ordering
* Commodity classes in source-info.txt have _'s in not -'s, in
case in the future we have classes which actually have _'s.
* Table dumping functionality used by referential integrity check
error reporter broken out into new functions dumptab_*
* Complete rework of the commodclass and ordering schema
* Multiple -D options on db-idempotent-populate increase trace level
* Table recreation overhauled and improved:
- temporary table now contains all columns of intended table
(but with NOT NULL, PRIMARY KEY and UNIQUE constraints removed)
- copy-back deferred until we have finished updating info;
general info update works on the temporary table; this is
so we can add a column which is NOT NULL
- db-idempotent-update's index creation and first referential
integrity check are deferred until after all new data has been
incorporated
- id compaction temporary table has a different name to the
table recreation temporary table just in case of future
accidents
- table recreation copy-back dumps the entire data for the
temporary table if the copy-back insert fails
- all table creation in schema setup is done with table()
- index creation is deferred until
* Fix bugs in commodity class system
- [D] yarrg/CommodsDatabase.pm