Adding serialization and equals/hashcode to comparators.

According JLS all comparators should implements Serializable and
overriding equals and hashcode methods.
Using Arrays.toString to print values instead of object reference
SortByArgumentsLengthDesc should be a static inner class and Serializable
Closing streams to avoid Eclipse warnings
I18nParam must be Serializable

Because I18nParam class is stored in a serializable class, so must be
serializable too.