Introduce "arguments" into the Expression base class in Cypher

Expression already has "children". The difference between the two
is that children are any expressions hanging off of an expression,
while arguments are arguments into an expression.
Cleanup of aggregation handling.
Merge pull request #1366 from systay/aggregation-update

Allows aggregate expressions to be part of more complicated expressions