general code cleanup:

removed Aetp.init_duples() because it was redundant with Aetp.diff_duples().

Aetp class initialization now includes a call to member function diff_duples() to update initial matrix rows.

new Aetp class member function list() prints all rows of test suite.

in Aetp class member function max_uncovered(), foo moved to visited_factors to reflect its utility.

cleaned up Duple class, removed Duple.duples <list>, moved Duple.dupleset <set> to Duple.duples and updated references accordingly. at init, Duple class now copies Table instance to class data member.

cleaned up Table class, changed instantiation behavior, member function make_table() now assigns to class data member instead of local variable and removed return statement in accordance with change.

main() significantly cleaner. most class instance functions have been refactored into internal functions (will probably be private in future). control flow is relatively self-explanatory now.