remove unused class
search reducer to use atomic reference arrays
move away from maps to correlate between responses from different shards to unique incremental integer representing a shardRequestId (unique for the specific search request)

 this allows to no longer require using maps (or CHM), and simply use atomic reference arrays, which rely on volatiles. it also removes the need to use a cache for heavy data structures since we don't really have them around anymore...
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