Move aggregate detection logic to expression/util.py
Coalesce redundant is_aggregate functions
Add get_children method to expression type
TupleExpression extends Expression
Function to check for nested aggregates
check for nested aggregates in parser
Get rid of redundant nesting logic in groupby.py
make line number a required argument
Consolidate code for checking for nested tuple-valued functions