Const and non-const arrfuncs

This PR implements the basic machinery for inplace ckernels and arrfuncs.
The way I like to name boolean property accessors, this would be called is_const() instead of get_const().