Rename kernel to function to define a blaze function
Allow implementation-specific overloading in blaze functions
Put back previous definition lookup in overload() function for test
Work on defining overloaded kernels
Split up blaze function test into digestible pieces