GpuContiguous, tests, better opencl support

For the opencl, we skip some tests when it isn't supported and use the cpy reduce implementation when we can.
Yes, it is inside GpuEye, I missed that.  But I still don't like the change to the full module path.