Clean up TableQueryBuilder, created a class TableColumnField to store TableColumn, TableColumnOneMap, TableColumnManyMap and use them for select query