Fix float range behavior

Previously:
```julia
1.0:1.5      # == 1.0:2.0
1.0:1.0:1.5  # == 1.0:1.0
```

With this patch:
```julia
1.0:1.5      # == 1.0:1.0
1.0:1.0:1.5  # == 1.0:1.0
```

I don't think the previous behavior was intentional, since it seems to violate the principle of least surprise, but I could be wrong.