Added syntactic sugar over agg definition

- some aggregations typically tend to be requested together. But using the normal (formal) dsl can make the request too verbose. The agg factory/parsing infrastructure was changed to enable factories to automatically add more factories, and by that enables "syntatctic sugar" to save verbosity

- one common use case for this is the `missing` aggregation. Often, when running values source aggs (e.g. terms, avg, etc...) one also wants to get the count of those document that are not associated with values (therefore were not aggregated). Now, using the new infrastructure, one can define a `track_missing` setting on any values source based aggregation, and a `missing` aggregation will automatically be injected into the request - based on the same value source.

Closes #5324