The transpiler now supports basic windowing. The window offsets are not
supported yet at all.
For windowing, we use the window function to split the points, perform
the aggregate/selector operation, and then we put them back into the
same window so they are within the same table as they originally were
located in. This is now reflected in the spec and the code.
In order to facilitate this change the query.PartitionKey
interface was changed to use the values.Value interface.
Additionally map was previously broken when it needed to repartition.
Tests have been added.