Fix Range#each to never include a value out of bounds.

Wrong:
```ruby
(0..2.4).to_a #=> [0, 1, 2, 3]
```

Right:
```ruby
(0..2.4).to_a #=> [0, 1, 2]
```