Improve unit testing of iterateLayout by dis-aggregating into a describe block and individual tests.
This made it clear what I was testing, so as a result I added more tests to get better functionality
coverage.
In the process, I discovered a bug / untested edge case, wrote a test to catch it, and modified Table.ts
if iterateLayout is called on a fixed-dimension table, it now throws
away the extra space rather than allocating it evenly between rows.

I believe this is a better behavior; this is also what was already happening
because this.availableWidth and this.availableHeight are reduced by base
Component._computeLayout on fixed-size objects.