Description
various classes implement compareTo but don't implement equals. These two methods should work the same as some built-in class in the jdk have switched implementations thru different versions to use compareTo vs equals. In addition, added hashCode methods for there classes.