ENH: add small kernel correlate function

For cases like convolve/correlate with small kernel calling out to BLAS
dot is very slow as it goes through many wrappers and BLAS is typically
optimized for very large data.
So add a template utility file and add a special function for small dot
products.
2-4 times faster than openblas dot for kernel sizes < 11.
More description of functionality would be good here, `dot` in the numpy context contains multitudes. It would also help to document the arguments as there are many...