facets: support for dots in keys and any nesting level

This fixes the case in which keys include dots. There is also support
for any nesting level and keys representing array values can be
placed anywhere in the dotted notation.

considering
obj = {
    club: {
        name: 'Golf Pros',
        'honorific.members': [
          {name: {firstname: "Tiger", lastname: "Woods"}},
          {name: {firstname: "Thomas", lastname: "Bjorn"}}
    }
}

you can now add facets as 'club.honorific.members.name.lastname'
added qunit for testing
added unit tests for getvalue using dotted notation
Correctly loop Array of elements, see a not working example below

for (var thing in sdata.facets["somefacet"]["terms"]) { console.log(thing); }
0
1
2
3
4
5
find
findFirst
new option: filter, same as es's filter
Added support for filter queries, refs #17081
Added URL recall features for undeined - refs #17423
Added missing value from facets as 'undefined'
Prepared for pull request
Prepared for pull request
Merge branch 'add_undefined' of github.com:eea/facetview into add_undefined
Added static filters as a new options refs #17422
Fixed several performance issues refs #17422
Reverted index.html for pull request
Removed tests for pull request
Prepared to merge
merged add_undefined with static_filter
Fixed missing params on recall refs #18416
Changed approach to fix #18416
Fixed double filters bug, refs #18254