Move Dot from SGVector to CMath

I have checked the build and unit-tests. They are running fine. Not able to test all the examples though. There is some problem with Ubuntu so I'm not able to install anything.
@sanuj SGVector has vlen within it. So that's fine. What I'm worried about is that presently we don't have `HAVE_LINALG_LIB` macro defined if none of the external linalg backend is found. And all the stuff inside linalg works only if the macro is defined. So no matter what native implementation is added to linalg, with present cmake setting it won't be visible if external linalg libs are not found. See the problem?

I didn't get the non-vectors part. dot is only for vectors, right?