built more vector operator tests

The tests are built, but the operators are only stubbed out.
defined operators and made sure they passed

All new vector2D operators failed all their tests when they were stubbed
out (this is a good thing), then I defined them and they passed their
tests (also a good thing).
changed #pragma header guards to #ifndef guards

I wanted to stay consistent in my header guards, and coming from a C
background, I went with the #ifndef guards.
added matrix2D to the Math namespace
move matrix2D file, created test cpp

I created matrix2D.h in the wrong folder.  I created it in the Engine
project's root directory instead of the "math" folder.   I moved it to
the "math" folder.

I also created an empty source file, matrix2D_test, in preparation for
testing the matrix.
finished stubbing out matrix2D and stubbed tests
finished implementing and testing matrix2D
changed matrix2D operator* to non-member function

I justified the operator* function being a member function so that I
would enforce the right-hand-sideness of the vector, but I later
realized that this was a bad plan.

The right-hand-sideness is still enforced by making the function a
non-member, and implicit construction of the member arguments is avoid
because both matrix and vector constructors are explicit.
added and tested vector length member

also began adding matrix rotation information
changed the sqrt function in vector length to sqrtf

reran tests, and all was well with the world
finished implementing and testing matrix rotation
cleaned up a bit from the matrix tests
some optimizations and cleanup

In the matrix's rotate(...) function, I made a sine and cosine call
once, then assigned the result as necessary to the matrix constructor.

Removed my definition of the vector assignment and copy constructor.

Removed the test for copy constructor from vector test and the test for
assignment from both vector and matrix tests.  I trust the compiler's
ability to make a shallow copy and to handle simple assignment.
made the ship rotate with matrices

Removed ship movement in the process.  Implementing that will require a
bit more work.
changed viewport to make rotation ok

Previously, the X and Y values in my viewport were dependent on window
size.

Now the viewport is square whose sides are the minimum of the length of
the window width and height.
made the ship accelerate relative to orientation

I also changed the rotation calculation so that it possessed an angular
acceleration and a crude form of inertia so that, once it started
rotating, it would keep rotating.