BasicObject
Adapt to the differences between rubygems < 1.0.0 and after Once we can be reasonably certain that everybody has version >= 1.0.0 all this logic should be killed