expand nested Reshapes
assemble sort keys into an array, and then sort on its elements, each on the right order
tests for filter with expr in projection (pending);
update and enable test for sort with wildcard and expression in sort key
don't show the stack trace in trees
Implement date field extraction.
Add array length operation

Postgres supports multidimensional arrays, so `array_length` takes a second parameter for the dimension. This currently only generates a plan when the dimension is 1. We could approximate higher dimensions by returning maybe the length of the largest sub-array at the appropriate depth.
Connect conditionals to Mongo.
Rename `Time` to `Temporal`.
Fix a non-exhaustive match.
Merge pull request #121 from sellout/minor-fixes

Minor fixes
Merge pull request #119 from sellout/63-additional-operators

More operations
make failure messages useful
RenderTree.diff()
use String instead of Cord in RenderedTree (because it implements equal(), and these labels should never be large anyway)
RenderTree instance for Term
update tests
use MakeArrayN consistently
update sort/filter expectations
remove unused OrderBy cases; clean up use of NonEmptyList
update test to accept result with temp field left over; tests on hand-written logical plans
propagate pipelines from sort keys
reinstate simpler handling of sorting on simple derefs

Restores simpler plan for simple cases, preserving source collection's shape.

A specific error, with an explanation of the cause
Merge pull request #118 from mossprescott/wip/107

Assemble sort keys into an array, and pick them out, each with correct orderType
tests for renaming root in Match/Selector