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.
@karlnapf @lambday Dot in linalg currently only takes 2 arguments i.e. the input vectors. I am not sure how linalg::dot is going to work here because we would need the length of the vector also. Maybe we can add 3 arguments in native's dot?