Reformatted the benchmark
Started optimizing subset for the "worst case" of an int set

With an int set hashcode and equals is almost free, so the fact that this
implementation does not call it often is not relevant.