Generalize arithmetic with ranges

This fixes the following:

julia> (1:3) - 0.25
ERROR: no method -(UnitRange{Int64}, Float64)