initial version of multidimensional arrays.

totally untested, but it inserts correctly and retrieves the values back in the correct format
couple small bug fixes
fixed casting bug

The new multidimensional iterator for casting had an improper bound on it. Was using the dimension of the array rather than the length of the first level.
updated tests for array casting errors

In order to make casting errors for multidimensional arrays make sense, the error message was adjusted. This commit fixes that in the tests that check for error output.
removed the .only() call in the test used for debugging the issue