base/gmp.jl: simplify <<, >> and >>>; return arg for zero shifts.

Since our BigInts are immutable by convention, we might as well
return the same BigInt object whenever we can. The >> operators is
arguably more fundamental since only arithmetic shift is defined
for BigInts. It's handy to have >>> around as a "just shift the
damned bits, please" operator.
FloatRange: add various linear range operations [close #5989].