The try execute functor now doesn't need to be a member of the class. This helps with the separation of concerns.
When you have CUDA enabled we need to make sure that all worklet launches come from a cuda file otherwise we will generate ODR violations.
These changes caused some warnings in clang to show up based on virtual methods in other cell locators. Hence, the rest of the cell locators have also had some of their code moved to vtkm_cont.