Fix Vec3 equality and length, and flesh out its tests

As __cmp__ no longer in Python 3 need to use functools.total_ordering which is in 2.7 and 3.*
  https://docs.python.org/2/library/functools.html#functools.total_ordering
  https://docs.python.org/3/library/functools.html#functools.total_ordering
  Define __eq__ and __lt__ and others are created automatically

Add unittest style for file vec3.py