Clarify range's exclusivity.

Inspired by http://www.reddit.com/r/rust/comments/298js2/what_is_the_rationale_behind_the_second_parameter/
I don't think this really explains the full rationale (although I'm not sure how much API docs can or should explain rationale, since the goal of API docs is to learn how to use them rather than understand their design principles). Starting at zero is really a special case of the more general point that half-open ranges compose cleanly. For example,
```
for n in range(0, 10u) { f(n); }
```
is equivalent to
```
for n in range(0, 5u) { f(n); }
for n in range(6u, 10u) { f(n); }
```