Fix scan-by-key with a fancy output array
If you gave ScanInclusiveByKey a fancy output array that decorated another array, you would get a runtime error for using an invalid array. The problem was that ScanInclusiveByKey creates a temporary output array and then copies the result to the actual output array. The problem was that the temporary output array was given the same storage as the output array, which won't work if the output array is fancy. Instead, make the storage for the temporary array default.