Add ArrayHandleImplicit which uses a user defined worklet.
Add a unit test for array handle implicit with cuda backend.

Verify that we can pass Implicit Handles to worklets.
Merge branch 'implicit_handle'
Add in ArrayHandleTransform.

You now can apply a functor to an array handle to allow basic fusing
and delayed construction of values.
Add in a explicit cuda test for ArrayHandleTransform.

We need to verify that everything works properly when methods are marked
up with __device__ and __host__
Add an example of fusing multiple transform handles together.
Update permutation handle so it works with implicit container on cuda.

For the permutation handle to work properly when used to bind to an
implicit container, we need to make sure that the PermutationContainer
itself doesn't try to use the ControlPortals of the underlying handles
it was given.
Merge branch 'transform_handle'
Merge branch 'permutatation_handle'

Conflicts:
	dax/cuda/cont/testing/CMakeLists.txt