Initial commit of the new aggregation module

see #3300
Fix package declarations.
- added a bunch of nocommit comments
- fixed a bug in Rounding.Streams
Add nocommit: range aggregators should use binary search.
Beef up tests and add nocommits
fixed a bug in the nested aggregator, where the aggregations where build multiple times
fixed a bug in the nested aggregator, where if the nested aggregator was added as sub aggregator, it could potentially miss the first segment reader (specifically where the top aggregator bucket is dynamically created during aggregation (as in terms & histogram aggs).
- fixed type in aggregations sub-package name (ip4v to ipv4)
- changed numeric script data source to eagerly create the different values constructs
refactored out the ValueSpace construct
rebased to master - integrated with the latest fielddata changes