Forbid coercing unsafe functions to closures

Closes #9582
Use the libsyntax PkgId parser in Rustpkg, but keep Rustpkg's version smarts.

This fixes a bug where new syntax crate IDs would cause rustpkg to fail to
build crates.
Change some rustpkg tests to use new crate_id syntax.
Warning police.
auto merge of #11086 : metajack/rust/rustpkg-new-crateid-syntax, r=cmr

...arts.

This fixes a bug where new syntax crate IDs would cause rustpkg to fail to
build crates.
Rename iterators for consistency

Rename existing iterators to get rid of the Iterator suffix and to
give them names that better describe the things being iterated over.
auto merge of #11001 : DaGenix/rust/iter-renaming, r=alexcrichton

Most Iterators renamed to make their naming more consistent. Most significantly, the Iterator and Iter suffixes have been completely removed.
auto merge of #11605 : alexcrichton/rust/issue-9582, r=brson

Closes #9582