Support non-contiguous user ids and different groups per feature.

Just did an experiment, and calling `#hash` on a `Fixnum` gives different results on different instances of the runtime. Grr...