Makes Vector2/3/4 more consistent, documents them, and tests them.
Uses T4 Templating to make future maintenance easier and safer.