ISPN-4678 Trim down ExpandableMarshalledValueByteStream to the actual da...

Some data to defend this solution:) ....

When using domain class TIN with four fields of types String (id, name, surname, custom text) the memory savings and throughput are following, when storing 500 000 TIN objects in the cache:

Without the fix:
--------------------
GC:
99,353: [Full GC (System) [PSYoungGen: 132397K->75921K(296704K)] [ParOldGen: 890237K->890237K(890240K)] 1022635K->966159K(1186944K) [PSPermGen: 60296K->60295K(70464K)], 0,7199160 secs]
Time to store 500k objects in cache: 10208 ms

With the fix:
----------------
GC: 
98,775: [Full GC (System) [PSYoungGen: 64K->0K(338688K)] [ParOldGen: 615453K->544657K(889536K)] 615517K->544657K(1228224K) [PSPermGen: 60722K->60308K(121344K)], 0,9099400 secs]
Time to store 500k objects in cache: 6783 ms
Hmm, I think the chance is pretty low unless you somehow generate (on purpose) entries that are exactly 4kB in size. If you want me to add something like this (if  (baos.size() < baos.getRaw().length ) ....) then I can do that. But IMO this will be just an additional check that will be true in 99.9% cases)