SPR-9874 Fix portlet annotation predicate compareTo

Make compareTo behave correctly for portlet annotation handler predicates for all requirements of the compareTo method contract. If predicates of differing types are compared the class name of the types is used to compute the value returned by compareTo. This ensures consistent ordering of predicates in a sorted collection or array.