IO: Skip redundant String decode in compact IO
- FIX: No need to decode UTF; can use encoded bytes directly as key
IO: Removed substring allow from compact output stream
- FIX: cheaper to encode all bytes at once than create substring and
  encode bytes of it (one less Object created)
IO: Reuse encoding buffer also output stream side
- FIX: use deprecated String API to allow reusing encoding buffer
	* May break if non-ASCII chars appear in classnames; possible
	  but actually very unlikely
IO: Agressive internal cache for ObjectStreamTypes
- FIX: internal cache; won't work with applications which want to
  allow unloading of classes