Replace TreeSet with ConcurrentSkipListSet, fix order equality problem

All sorted set implementations rely on the fact that equals() is consistent with
compareTo(): http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html

This was leading to the problem that several parallel registration with same
amount of rounds left were removing each other.

Another problem laid in the fact that TreeSet should either be synchronised or
it can't guarantee consistency of iterator, therefore will throw concurrent
modification exception.

This commit solves both problems.