Change MLObject to use a Map<String,MLArray> to store properties.

With the change to have MLObject properly store arrays of objects, and due
to the fact MLObject needs to handle the handle class, using MLStructure as
the data storage and array handler is about to get very messy.  Thus change
to the obvious data structure to manage everything.  The instance of a Map<>
is a specific instance of an MCOS.  That way handles are properly represented.
Handle MCOS objects in arrays as non-MCOS object properties.

Since MLObject has been refactored to support this properly, now handle arrays
of MCOS.  Note that currently only 2d arrays are supported for MCOS objects
right now.
Generalize MCOS object arrays to properties.

Support MCOS object arrays in MCOS object properties.  Also adds some tests
to the TET test to ensure that data was properly pulled out.
Cleanup the Simulink TET test.

Double check the size of the Data object, and make an instanceof test explicit,
instead of relying on a ClassCastException.