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-4937 Add examples for indexing configuration on the server
ISPN-4965 Upgrade to protostream-2.0.2.Final
ISPN-4954 Entry Iterator can block transport thread if closed while
trying to put wait into queue

* Added timeout for offer so it won't block on queue for longer when
* shutdown
ISPN-4969 Stopping a cache will stop all KeyAffinityServices created for other caches in the cache manager
ISPN-4940 Only include the JCache beans.xml in the embedded uberjar
ISPN-4967 Deprecate ProtobufMetadataManagerMBean.registerProtofiles(String... classPathResources)
Clean up generics a bit
ISPN-4951 Entry Retriever iterator should rethrow caused exception

* Pass along any local throwable to iterator
* If remote node receives throwable propagate that as a response