sometimes Set[Int] is preferable to Set[Symbol]

In those cases where a Set[Symbol] is being used just to add, remove, and test membership;
a Set[Int] (containing symbol-ids) can be used to the same effect and at a fraction of the GC cost
(caveat: assuming the symbols in question are reachable via other means, eg via Tree references, so that they aren't GC'd).

This commit adds class SetOfSymIds supporting that scenario, also saving on Symbol.hashCode()
bug fixes
first user of SetOfSymIds