Added more tests for the current implementation of `filterFilter`, which prove that _deeply-nested_ predicate objects + _multiple conditions_ was not tested well enough, since some expected scenarios fail.

Problem: `filterFilter` is currently behaving like if it was using _OR_ operators (i.e. it doesn't matter if some conditions don't match as long as one does), and should be behaving like if it used _AND_ operators in order to be consistent with the original implementation for non-deeply-nested predicate objects.
`filterFilter` working with deeply-nested predicate objects was introduced in 1.2.13 as a result of #6215.
Added another test to ensure that `filterFilter`with a `$`-type predicate is actually performing a deep search on all objects' properties.
Fixes `filterFilter` so it passes our tests for _deeply-nested_ predicate objects + _multiple conditions_, as described in 1dd46d4 .