[WIP] Add support for aggregate operations grouped by an attribute

Allows queries like:

```objective-c
NSArray* caloriesByMonth = [CTFoodDiaryEntry aggregateOperation:@"sum:" onAttribute:@"fatCalories" withPredicate:predicate groupBy:@"month"];
```

This supersedes #113 and #457, and requires tests before it can be merged.

- [ ] Add tests