copy Range#step from Rubinius

I feel so bad about this. We really need a better way to share code there.