Evaluate paths into grouped keys & values when converting GroupBy.

Grouping by a tuple of multiple keys can lead to paths into the
individual components of the tuple in the grouped result. When converting
GroupBy to Comprehension, we need to evaluate these paths completely
instead of only evaluating the first ElementSymbol and leaving Select()s
into ProductNodes alive.

Fixes issue #110. Test in AggregateTest.testGroupBy/q4.

The unappealing implementation is due to binary compatibility constraints in 1.0. To be improved after merging back into master. Review by @amirsh