Helper transform that takes a collection of timestamp-ordered
values associated with each key, groups the values by window,
combines windows as needed, and for each window in each key,
outputs a collection of key/value-list pairs implicitly assigned
to the window and with the timestamp derived from that window.

Composite transforms, which are defined in terms of other transforms,
should return the output of one of the composed transforms. Non-composite
transforms, which do not apply any transforms internally, should return
a new unbound output and register evaluators (via backend-specific
registration methods).