This change consolidates the copy paths to Object based.
The runtime now uses reflection to identify the type of
array present. This adds support for long/double and reduces
the amount of code present. We could also support arrays of vectors
or objects in the future with this mechanism.
Change-Id: I2297c1c01fbe6a64c375d6368f25d7db781ea788