Gpu non contiguous copies

Fixes #318 

I'd appreciate your eyes, @dsharletg, to make sure I'm not breaking anything, and that this is a reasonable way to do the non-contiguous copy.