ISPN-4945 Remote removed events should not be fired when not removed

* A NPE was being thrown when using remote events, with a remove entry
event listener, and removing a non-existing entry.
* No remote removed events are thrown when nothing is removed. This
can be changed by the user with custom events.
ISPN-4957 Rebalancing "Finished cluster wide rebalance" message is not logged in INFO
ISPN-4962 Infinispan Query should not depend on Hibernate Search's logger implementation
Improve Javadocs

* and revise some exception messages
ISPN-4946 Add test for query cache config overriding
ISPN-4947 Improve externalization of ObjectFilter.FilterResult by not serializing the 'instance' member if projections are present
ISPN-3938 AdvancedAsyncCacheLoader.process() concurrency issues

Simplify ExecutorAllCompletionService to track the tasks itself instead of
using an ExecutorCompletionService.