Aggregations: Added an option to show the upper bound of the error for t...

...he terms aggregation.

This is only applicable when the order is set to _count.  The upper bound of the error in the doc count is calculated by summing the doc count of the last term on each shard which did not return the term.  The implementation calculates the error by summing the doc count for the last term on each shard for which the term IS returned and then subtracts this value from the sum of the doc counts for the last term from ALL shards.

Closes #6696
That is what I thought would be the right formula in the beginning but I don't think it works for terms that are _not_ part of the final results. Eg, imagine the following shard counts and a size of 2.

Shard 1: A:3, B:2, C:2
Shard 2: B:3, A:2, C:2

Result: A:5, B:5 and the upper bound on the error would be 2 + 2 - 2 = 2. However, the error on C is 4. I'm wondering if we want to return both (max error on terms that are in the top terms, and max potential count of a missing term) but maybe that is too complicated. What do you think?