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