Partial fix for numeric idempotence differences across Rubies.

I have opted to make numerics succeed in CAS if they are == as far
as Ruby is concerned. This makes numeric CAS have a bit more
overhead, since we do (at least) two additional instanceof and an
additional == call, as well as looping until there's no contention
for reference equality, but it fits the spirit of what people want
better than strict reference equality.

See #19.