MathNet.Geometry + tests

Here are a few classes I have used for geometry. Hopefully it is good enough to use as a startingpoint.

- I refactored Vectors and points to structs, this meant nasty code duplication but I think structs are right for them. Perhaps there is a better design, one idea may be to use properties instead of public fields and have them implement I3D and define generic extension methods on it? Generic extensions does not box I think.

- Test coverage & comments is on the sparse side, hopefully most of the method names are ok, wanted you guys to have a look. Some of the tests are dumb | random where I have just thrown stuff from CAD at it. Parsing strings in combination with [TestCase] is pretty nice though.

- Coordinatesystem should probably be a struct and def not : DenseMatrix like now, this is the hairiest class by far.

- I failed at making a nice commit history, was aiming at one single commit squashing all the temp commits I made extracting this code from a larger library.