Add a hybrid SymbolSet.

This set uses the PositiveIntSet strategy, but also maintains an
internal ArrayBuffer of the actual symbols used. This means that
for insertion and contains tests it is much faster than any of the
other ref-based sets. Foreach is also faster.

This comes at the cost of more expensive deletion. Once you have
more than ~1000 items you really start noticing the O(n) deletion
time. The assumption is that deletion won't be needed very often.

SymbolSet still needs tests that are independent of the ancestral
int-based tests.