Fixed #11722 -- iexact=F() produced invalid SQL
Proof-of-concept fix for #16731

Implemented only for SQLite and PostgreSQL, and only for startswith
and istartswith lookups.
Cleanup based on review comments
ExpressionNode now evaluates itself, allowing removal of SQLEvaluator
Implemented relabeled_clone for spanning relationships
fix contains_aggregate to work with non F() objects
All tests now pass after removing SQLEvaluator
Implement the skeleton of aggregates as expressions
Expressions now support @add_implementation
All aggregates tests are passing but agg_regress failing still
most aggregation_regress tests passing again
all aggregation tests are passing
Fixed failing count() regression test with ColumnNode
source and output_field need to be treated independently
Some complex annotations and aggregations now work
fixed aggregation.field for sqlite
began writing tests for new aggregate expressions
added a variety of tests that showcase new features