Returns the dot product of this and the other vector.
Selected identities that the dot satisfies:
- a dot b = b dot a 
- a dot b = a.magnitude * b.magnitude * cos(theta) 
- (a dot b)^2 + (a perpDot b)^2 = a.magnitude^2 * b.magnitude^2 
where theta is the angle from vector a to vector b.