Generify base DIST functional test to allow different key/value types
ISPN-3477 Simplify MarshalledValue by only keeping binary format

* Remove Cache.compact() method (this might still create problems
for those who have extended the Cache interface or have created
delegate implementations, i.e. AS Clustering guys).
* Simplifies MarshalledValue a lot getting rid off a lot of complex
code that was used to either keep instance or binary format.
* With this change, store as binary works as defensive without
the need of any extra parameters to be configured
(Sanne will like this).
* Deprecated defensive configuration methods and XML.
* Adjusted tests according to new expectations.
* Added a Util.hashCode(byte[], size) method that calculates hash
code based on array contents up to a certain size limit.
* Customise MarshalledValue JDK serialization to support environments
outside the cache reasonably.
* Adjusted query cache assertions which should be based on
Object.equals() and not ==.