Ensure that DatetimeArray keeps reference to original data
(cherry picked from commit 49f6495ba5ceef35a7a962f20e8b863c544592b7)

This avoids a segfault I (and possibly @jbrockmendel) were seeing on our datetimearray branches from us freeing a region of memory we didn't allocate.

I haven't really groked things yet, but `_libs/reduction.pyx::Slider` is doing some strange things with the data of the array passed to it (overwriting the buffer's `.data` and `.strides` attributes). One of the arguments, `buff`, is a slice on the original index. It *seems* like ensuring that the ndarray backing the DatetimeArray sliced index is the same as the original index avoids the segfault.