Assigns the given timestamp to windows using the specified windowFn, and
verifies that result of windowFn.getOutputTime for later windows
(as defined by maxTimestamp won't prevent the watermark from passing the end of earlier
windows.

validateGetOutputTimestamp

Assigns the given timestamp to windows using the specified windowFn, and
verifies that result of windowFn.getOutputTime for later windows
(as defined by maxTimestamp won't prevent the watermark from passing the end of earlier
windows.

This verifies that overlapping windows don't interfere at all. Depending on the
windowFn this may be stricter than desired.

Verifies that later-ending merged windows from any of the timestamps hold up output of
earlier-ending windows, using the provided WindowFn and TimestampCombiner.

Given a list of lists of timestamps, where each list is expected to merge into a single
window with end times in ascending order, assigns and merges windows for each list (as though
each were a separate key/user session). Then combines each timestamp in the list according to
the provided TimestampCombiner.

Verifies that a overlapping windows do not hold each other up via the watermark.