Implement Vector interfaces

You could get 2 vectors which are equal, but which have a different hashcode.  I am not sure how to fix that though.  It seems inherent due to the EPSILON for .equals.

Double vectors wouldn't be the best bet for HashMaps anyway.