Made the addition and subtraction operator for the vector class more generic.

Instead of only accepting one point type, it accepts two and returns the
correct type automatically using decltype.