refactor: unify terms and significant_terms parsing

Both need the requiredSize, shardSize, minDocCount and shardMinDocCount.
Parsing should not be duplicated.
refactor: make requiredSize, shardSize, minDocCount and shardMinDocCount a single parameter

every class using these parameters has their own member where these four
are stored. This clutters the code. Because they mostly needed together
it might make sense to group them.
I hope that this makes the code more readable and also that if avoids
errors such as mixing up the int/long parameters in the future.
add failing test for shard_min_doc_count
use shard_min_doc_count also in TermsAggregation

This was discussed in issue #6041 and #5998 .
add documentation of `shard_min_doc_count`