Fixed equals in Vector3d, Quaternion > 90%

In the process of deciding how to handle Quaterniond's equals and ==
operations, I discovered that Vector3d's == operator was written in a
way that always fails. Now it only accepts vectors that are exactly
equal. Added approximate methods to the class for when you want a
tolerance range.