ISPN-3617 Inconsistent L1 in non-tx distributed cache

* Fixed another edge case when L1 is not properly cleared
ISPN-3599 CommitCommand with replayed PrepareCommand executes rollback and then commit
Cleanup the transaction completed code

* no need to check for ctx.isOriginLocal() twice
* guard log.tracef() with log.isTraceEnabled()
to avoid string creation
ISPN-3668 Lucene index performance regression test
ISPN-3668 Define defaults time as constant and suggest JVM parameters
ISPN-3648 Inconsistent L1 in tx distributed cache

* Changed backup owners to also invalidate L1 like non tx caches
ISPN-3635 Out of data read after write on node losing ownership
ISPN-3674 LuceneStoreConfiguration should be renamed to LuceneLoaderConfiguration
ISPN-3683 CacheLoaderException should be renamed to PersistenceException
ISPN-3681 enhance the documentation of the new persistence API

* better user documentation
 ISPN-3682 remove ByteBuffer.getStream
ISPN-3657 L1WriteSynchronizer exception on L1 write race

* Fixed race condition with multiple gets and an invalidation write
ISPN-3678 In replicated mode writeSkew check is executed only on coordinator

When we changed the replicated mode, the lock owners started to be distributed
between the members in the cluster, but the write skew check was only
performed in the coordinator.
ISPN-3589 StackOverflow in InternalMetadataImpl.Externalizer
ISPN-3583 When indexing is enabled but Query module isn't available configuration validation should fail

Reviving this commit after it was reverted by d6725ad00fcdfba6cc171db912ec2297f413f0ef
ISPN-3583 Use the proper classloader so this Query config validation can work in server too

If no classloader is specified then use the defining class loader of the current class. Previously, the classloader of Util class was used, which corresponds to commons module and consequently fails to load classes from query module.
ISPN-3583 Throw exception if 5.2 config activates indexing but query module is missing from class path
ISPN-3687 Upgrade to Apache Lucene 4.5.1
ISPN-3597 ClusterRegistry should provide event notifications

* Add methods addListener, removeListener
* Also add containsKey convenience method
Refactor ProtobufMetadataManager to use ClusterRegistry