Rename kernel_data_prefix to ckernel_data_prefix

This is the start of some renaming towards consistency of
the "ckernel" naming between dynd and blaze. The aim is
for the ckernel specification to be identical, with
consistent naming, across all uses. The "C" refers to
it being a kernel defined in terms of the C ABI.
Rename the assignment_kernel class to assignment_ckernel_builder
Rename comparison_kernel to comparison_ckernel_builder
Rename hierarchical_kernel to ckernel_builder
Rename dynamic_kernel_instance to ckernel_instance
Rename ckernel_data_prefix to ckernel_prefix
Split the ckernel_prefix struct out of ckernel_builder.hpp
Move ckernel_instance into a separate file
Add ckernel_deferred, a C ABI-level struct for holding a deferred ckernel