Add ArrayGetValues specilization for ArrayHandleCast

ArrayGetValues for ArrayHandleCast needs to be handled specially as an
`UnknownArrayHandle::IsBaseComponentType` check inside the implementation
gives unexpected results for ArrayHandleCast.

With this fix, the values are first copied from the source array type and
then casted to the appropriate type before returning.
Status Name Job ID Coverage
  External
passed cdash-buildbot

passed cdash-buildbot