Correct a major bug in UniformGrid point container.

I have no idea how I missed this bug, when I introduced it. But
the previous code only worked when origin was at 0,0,0.
Correct bad duplicate topology resolution with cuda.
Remove reference to other array handles.

If you want to use other array handles, you have to include them.
Make header testing even smarter about when to enable thrust tests.

Previously we always presumed the OMP system to be around, now we
are smarter and look at thrust version to. If we are above 1.6 we
can use the cpp system.
Allow other classes to convert portals to general thrust iterators.

Previously only the device adapter was able convert dax portals
to thrust iterators. Now the code is exposed in a helper header
so that we can provide that ability to other classes.
Add support for OpenGL interop to Dax.

We are adding a new opengl namespace with functions that will
take an array handle and transfer its contents to a given opengl
buffer.
Add testing infrastructure to verify opengl interop works.

We need to really test the interop code with all device adapters
to verify that it works under all uses cases. To do that I am
adding infrastructure that makes it easy to test the interop