Add global ordinals

Global ordinals is a data-structure on top of field data, that maintains an incremental numbering for all the terms in field data in a lexicographic order. The performance of search features like terms aggregator can be improved using global ordinals. 

This PR also adds a new execution mode `global_ordinals` to terms aggregation, that is used by default for non nested terms aggregations.