Introduce non-threadsafe Set implementation

OK, here's a stab at the non-ts implementation.

i made it so that Set uses SetNonTS as a promoted field, which isn't really ideal. for one, it'd be really nice to be able to reuse the actual logic from SetNonTS's methods, but i don't know if that's possible. also, that means it exposes the SetNonTS as an exported field, which is just wrong and dumb.

this is definitely not done, but i wanted to get this up so we could discuss while it's in progress.