fix range_step{,_inclusive} with negative step
iter: fix `range_inclusive` when `start > stop`
iter: fix `RangeInclusive`'s `DoubleEndedIterator`
Use std::iter::range_step

Use the iterator version instead of the old uint::/int::range_step
functions.
std::num: Remove `range_step` for each numeric type

Replaced by `std::iter::range_step`
remove old internal iterator range tests

The cases they test are well covered in the `std::iter` tests.
rm some uses of the `advance` iterator method
auto merge of #9179 : catamorphism/rust/rustpkg-package-id, r=catamorphism,metajack

r? @metajack - This solves the problem you were having earlier with things like ```extern mod geom = "rust-geom";``` (or something like that).
iter: add the edge case tests for `range` too
auto merge of #9203 : thestinger/rust/range_step, r=huonw
Reduce the amount of complexity in format!

This renames the syntax-extension file to format from ifmt, and it also reduces
the amount of complexity inside by defining all other macros in terms of
format_args!
Document all of the format! related macros
Fix expand_stmt as well as expand_expr to use the correct span

The same fix as before is still relevant, I just forgot to update the
expand_stmt macro expansion site. The tests for format!() suffice as tests for
this change.
auto merge of #9153 : alexcrichton/rust/simplify-format, r=huonw

This follows from the discussion in #9012.

* All macros are now defined in terms of `format_args!` allowing for removal of a good bit of code in the syntax extension
* The syntax extension is now in a more aptly-named file, `format.rs`
* Documentation was added for the `format!`-related macros.
Remove {uint,int,u64,i64,...}::from_str,from_str_radix

Remove these in favor of the two traits themselves and the wrapper
function std::from_str::from_str.

Add the function std::num::from_str_radix in the corresponding role for
the FromStrRadix trait.
auto merge of #9209 : blake2-ppc/rust/from-str, r=thestinger

Remove these in favor of the two traits themselves and the wrapper
function std::from_str::from_str.

Add the function std::num::from_str_radix in the corresponding role for
the FromStrRadix trait.

With `from_str` in the prelude, and `from_str_radix` in `std::num`, the feature is unfied under the type annotation of these functions instead of using the modules-named-as-types (std::uint and others):

What was before:

    let n = std::uint::from_str("1");
    let m = std::i32::from_str_radix("10", 16);

is now:

    let n = from_str::<uint>("1");
    let m = std::num::from_str_radix::<i32>("10", 16);
rustpkg: Cleanup