ISPN-2712 Initial state transfer doesn't appear to all be persisted when using eviction in a replicated cluster

NBST uses transactional put commands to write the state and also forces local mode. Because local mode is forced TxInterceptor does not add the state transfer put command to the modification list of the transaction (no need to replicate the modification remotely). CacheStoreInterceptor relies on the modification list to later update the store when the transaction commits. Since the modification list is empty nothing is actually written to store causing this issue. The problem is not easily observable unless the cache uses eviction and the cache is transactional. For non-tx caches the modifications are written to store immediatelly and are not enqueued in a modification list until tx commit time so they are not affected by this bug.

* Add short test to reproduce the scenario from MODE-1754 (works on 5.1.x and fails on 5.2)

* Modify TxInterceptor to add all modfications to the transaction even if they are local only.

* Modify AbstractCacheTransaction.getModifications() to filter out the local only modifications and to never return null (an empty collection is preferrable).

* Add CacheTransaction/AbstractCacheTransaction.getAllModifications() to return all modifications including the local-only and use it in CacheStoreInterceptor instead of getModifications()/hasModifications().

* CacheStoreInterceptor.prepareCacheLoader checks every modification if they should be skiped before converting them with StoreModificationsBuilder. This is needed to ensure modifications with SKIP_CACHE_STORE do not get through. Previously this was an issue but it was never observed because SKIP_CACHE_STORE was usually used in conjunction with CACHE_MODE_LOCAL which meant the modification was already ignored.