Query DSL custom_filters_score nested groups

For issue #1561, add nested aggregation groups to custom_filters_score.
 Maintained backwards compatibility for the query DSL JSON and the same
JSON is generated when no nested groups are used, and extra JSON only
when nesting is used at one or more levels.  Test cases updated to
improve the testing of both this query class and for the new changes as
well.  Needs feedback, heavy changes and not sure the desired way of
structuring the nesting is within the parser, query builders, etc.  It
feels clunky at the moment.