Start boilerplate for neighborhood iteration
Create empty neighborhood ckernel class
Sketch out the neighborhood ckernel loop a bit
Start instantiate neighborhood2 function
Use the updated strided dim functions/arrmeta to fill out the instantiate
Add primitive test, fixes for neighborhood
Formatting changes
Relax the pattern matching so fixed[N] and cfixed[N] match strided

This makes sense because the arrmeta is identical, and passing
stricter fixed[N] arrays to strided functions makes sense.
Remove the view that was necessary with stricter matching
Put prints in the neighborhood example inner function, fix bugs
Implemented basic reduction arrfunc
Cleaned up prototpe reduction arrfunc
More streamlining of reduction prototype
Extended functor_arrfunc to handle vals class
Small changes
More changes to functor_arrfunc
Removed reduction_arrfunc.hpp
Extended make_type to handle non-builtin types
Cleaned up changes to metaprogramming
Reorganized changes to make_type