Various small changes and cleanups:

() 'PureTreeList.with' now appends if the index is equal to the size.

() The abstract classes no longer implement Cloneable (pointlessly and
confusedly).

() The implementations classes now have a static 'eql' method that
implements the Java equality idiom, and they call it when appropriate.

() 'PureSet.arb' now throws 'NoSuchElementException' on an empty set.
Oops -- merge error.
Merge branch 'master' of https://github.com/slburson/fset-java
Makefile tweak.
Add static methods that return canonical instances of empty
collections.
Add historically-related-trees optimizations.