ISPN-3772 Reduce marshalling payload sizes

* Unless compatibility mode is enabled, do not use Flag.OPERATION_x
* Flags, which are shipped in EnumSet instances, are now marshalled
using Externalizers, leading to a reduction in size as a result of
not writing class information.
* Except for primitive types, arrays can be shrinked by using
exterternalizers for those arrays more commonly shiped. This results
in array type information not being written to the payload.
* Add Arrays$ArrayList to the types covered by the ListExternalizer,
which it now covers for all list implementations.