renamed put(T, E) to add(T, E) as Java 7 complains about Map.put(T,
Set<E>) not being overwritten
added SortedListMap and SortedSetMap