Simple examples of groupby queries
Rename TransferBeforeGroupBy rule
Introduce the concept of simple, decompsoable aggregates
Check whether all aggregates are decomposable
Implement two-phase aggregation for simple aggregates
Fix bug in datalog aggregate test
Change datalog to emit grouping terms before aggregate terms in groupby.

I believe this is expected by Myria.  fakedb also expects this.
Emit fragile datalog tests that rely on stringified plans
Change GroupBy constructor to take separate lists for grouping, aggregate
terms.

This enforces the constraint that group terms appear first in the output schema
of the groupby.
aggregate: make COUNT a SimpleDecomposableAggregate

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
datalog: preserve original column names when reordering groupby

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Rewrite datalog code for groupby term rearrangement
Generalize decomposable aggregates to n-ary local/merge aggregates
decrease indent
Implement distributed average using a finalizer expression
Create a unit test that combines distributive and algebraic aggregates
Decomposable standard deviation implementation
Merge pull request #97 from uwescience/andrew_twophase_groupby

Implement two-phase groupby's for simple aggregates