cache recycler now node/client level component
Introducing Aggregations Module

Initial commit for the aggregation module. There are four main constructs for each aggregation:

 * aggregation - represents the outcome of the aggregation
 * aggregator - the request scope construct that computes the aggregation
 * aggregator factory - creates an aggregator of a specific type (can be configured for that type)
 * aggregator parser - parses the request xcontent and creates the appropriate aggregator factory

 There are two types of aggregations (and therefore, there are two types of aggregators):

  * Calc - an aggregation that computes counts/stats across a set of documents (eg. avg, sum, min, max,...)
  * Bucket - an aggregation that creates buckets over a set of documents, where each buckets effectively defines a set of documents (eg. terms, range, histogram, missing, filter, ...)

  The bucket aggregators can be seen as compound aggregators which can contain other aggregators. The aggregators contained in a bucket aggregator will be applied for each of the buckets that are created byt he bucket aggregator.
initial commit of the value source based implementation
second commit
third commit
cleanup & refactoring 1
cleanup & refactoring 2
cleanup & refactoring 3 - remove most of the date histogram classes and kept it minimal by reusing all the normal histogram constructs
- introducing numeric value source and value parser
- made aggregator search context aware
- api cleanup
introduced the field values context & factory
added nested aggregation support
cleanup & documentation
- added aggregations request builders
- fixed a stack overflow bug in FieldDataSource
- started to add tests for the aggregations
- added tests for the aggregations
- aggregation api cleanup
- added more aggregations tests
- added geo_distance aggregation tests
- cleanup
- added histogram aggregation tests
- fixed numeric calc stats
- cleanup values abstraction: got rid of FieldDataSource.Double and FieldDataSource.Long (using only FieldDataSource.Numeric now)