introduced AbstractComparator; removed the formalCompareTo() methods
from everywhere
renamed Comparator to DomainComparer, to avoid conflict with
java.util.Compartor