Improve aggregation framework

* Introduce a compiler for accumulators
* Introduce compiler for aggregation functions
* Add annotations, so that aggregation functions can be defined as a combination of static methods
* Benchmarks show ~10% performance improvement on TPCH query 1, and ~30% speed up for SUM()
Remove AbstractSimpleAggregationFunction
Add unit test for evaluate_classifier_predictions
Add support for aggregation functions with multiple arguments