Remove in-place modification of options when casting to Array.

This was causing the :class option to be lost, which meant the first
access to an Array value would work correctly, while subsequent accesses
would return a String.
Add test to verify Array casting regression.
When casting Array items, pass along additional options.
Merge pull request #9 from omghax/fix-array-casting

Remove in-place modification of options when casting to Array