Implemented generic kernel application function. Comments coming next commit
Comments on usage for ApplyKernel.
Created a Functors and Kernels static class to store those.