Make all scans capable of visiting their operands, not just IndexScan

`TableGroupJoinTree` previously had special handling for `IndexScan`. Another kind of scan, such as `ExpressionsHKeyScan` did not get visited, so complex expressions, such as subqueries, did not get transformed. See new test case for example; prior to this branch, the subquery contents are nowhere in the test output.