Add Range to overrides for tracking changes.
Backport https://github.com/scala/scala/commit/7abb0c911a7c3d60057fbcab6fc3687322a67082 to 2.10.
Mark Range and Range.Inclusive as inlineable classes.

This removes *all* the overhead if all 3 parameters of the
range are constants. For example,

  for (i <- 0 until 10 by 2) { ... }

If the step is either 1 or -1, and either start or end is
constant (very common case), then almost all the overhead is
removed, and in particular there is no Long operation anymore.
For example:

  for (i <- 0 until n) { ... }

If the step is constant > 1, start is 0, and the range is not
inclusive, then all Long operations also disappear.
For example:

  for (i <- 0 until n by 2) { ... }

The private method `fail()` was moved to an implementation in
the companion object of Range, so that it is not inlined along
with the useful parts of the Range.