Fix type error in ScanExclusiveByKey
The implementation of ScanExclusiveByKey in DeviceAdapterAlgorithmGeneral by shifting values in the input values array and then calling ScanInclusiveByKey. However, the temporary shifted values array was created using the key type instead of the values type. This caused a compile error when the keys and values had different types.