Take ckernel_deferred

This implements a ckernel for a function similar to numpy.take. It accepts either a boolean or index array to take values out of another array.