(1) Added Eclipse project descriptors
(2) Refactor the file-uri-comparator out to a constant
(3) Refactor the reflective hashcode and equals stuff so as to minimize
the number of objects created when calling hashCode() or equals()