remove special-casing for empty tables.

It's better just to print an empty header.
test: remove allRowsAreSameLength* tests.

This is already being tested by containsWellFormedTable().
test: remove outputContainsTwoMoreLinesThanNumberOfRows*.

This is already being covered by containsWellFormedTable().ofSize().
test: remove columnHeaderSeparator* tests.

This is already being covered by containsWellFormedTable().
test: add+use withColumnHeaders() custom assertion.
test: remove outputContainsColumnHeaders* tests.

This is now being covered by withColumnHeaders().
test: change test data type ImmutableList => ImmutableCollection.
test: add two tests exercising allColumnsHaveWidth().
test: improve tests covering default column sizing strategies.
rename SizingOption => SizingStrategy.
no need for SizingStrategies to be public.