only use #[no_core] in libcore
auto merge of #6075 : thestinger/rust/no-no_core, r=brson

core injection works fine now
rand: Fix infinite recursion

`self` has type `&@Rand`, so `*self` will be of type `@Rand` which causes
this same impl to be called again.
auto merge of #6097 : Blei/rust/fix-rand, r=pnkfelix

`self` has type `&@Rand`, so `*self` will be of type `@Rand` which causes
this same impl to be called again.

Fixes #6061
make way for a new iter module