Range object improvements

Modify the IntRange and LongRange object to allow
decreasing ranges. This allow to write `range(5, 0)`.
note to future self… don't commit in a hurry