ISPN-3472 Declare modules required by remote-query to the BOM

* Also make sure the RemoteCacheManager looks for resources using its own classloader
ISPN-3475 Split remote-query module into separate client and server modules

Separating the modules rather than having them in one place and generating a separate assembly for client has the benefit of also separating dependecies and relieving the client from dealing with unneeded dependecies.
ISPN-3476 Remove dependecy to 'protoc' tool

The protobuf binary descriptor is directly included in the project as a resource instead of being generated.
This is a stopgap solution until we find another way of parsing proto files that does not involve the use non-java build tools.
Revert "ISPN-3318 Automated upgradable path for file store consumers"

This reverts commit 16dc707f760c4dc5e1c887f26da7294a80c54d87.
ISPN-3290 Redesign CacheStore API

* removed migration tools (outdated)

ISPN-3290 Redesign CacheStore API

* removed pre 6.0 parsers and config files

ISPN-3290 Redesign CacheStore API

* removed existing SPI and store support classes: bucket based, lock support

ISPN-3290 Redesign CacheStore API

* new loader/writer SPI

ISPN-3290 Redesign CacheStore API

* implemented the cache store chaining logic

ISPN-3290 Redesign CacheStore API

* updated configuration

ISPN-3290 Redesign CacheStore API

* SingleFileCacheStore migration

ISPN-3290 Redesign CacheStore API

* migrate the JDBC cache store

ISPN-3290 Redesign CacheStore API

* removed old adaptor classes

ISPN-3290 Redesign CacheStore API

* migrate lucene loaders

ISPN-3290 Redesign CacheStore API

* migrate JCache adapters

ISPN-3290 Redesign CacheStore API

* migrate the remote cache store

ISPN-3290 Redesign CacheStore API

* migrated the cluster store

ISPN-3290 Redesign CacheStore API

* bug fix: for named components (the marshaller) it wrongly considered it as a global component

ISPN-3290 Redesign CacheStore API

* fixed tests and code scrubbing

ISPN-3290 Redesign CacheStore API

Answered the review comments
* fixed spelling error
* improved javadoc
* InitializationContext.getConfiguration is generic now to avoid casts

ISPN-3290 Redesign CacheStore API

* fixed race condition in async cache store

ISPN-3290 Redesign CacheStore API

* fixed test timing out due to marshaller being created on every request
ISPN-3428 MemcachedTypeConverter does not work in clustered mode with non-bytearray data
Make the tools explicitly depend on getopt so that the version gets managed by the BOM
ISPN-3406 Reading entry via HotRod in compatibility mode fails for non-local entry if stored via Embedded cache
ISPN-3483 CacheLoaderAPITest is falling randomly
ISPN-3484 NonTransactionalCacheTest.springTestContextPrepareTestInstance is always failling
ISPN-3487 Missing protobuf fields sould be indexed with their declared default value (if any) instead of being indexed as null

* Refactor MessageContext to reuse the similar class already present in protostream lib
* Upgrade to a newer protostream that has less unwanted dependecies
* Also make remote-query related dependecies optional in HotRod client
ISPN-3488 Add a version of HotRodQueryTest that runs on top of Infinispan Lucene Directory provider