rt: fix jemalloc android cross-compile for mac
vec: remove each_const

An Iterator implementation can be made for &const [T] if it turns out
to be necessary for some use case.
vec: remove eachi

replaced by the `enumerate` method from std::iterator
vec: rm old_iter implementations, except BaseIter

The removed test for issue #2611 is well covered by the `std::iterator`
module itself.

This adds the `count` method to `IteratorUtil` to replace `EqIter`.
vec: replace `position` with `iter().position_`
replace vec::find with the IteratorUtil method
auto merge of #7263 : thestinger/rust/iterator, r=graydon
auto merge of #7200 : yichoi/rust/fix_je_mac_cross, r=brson

while cross-compiling, ar in cross toolchains are required. 
linux is not sensitive so could not see errors.
Update existing tests to account for stricter, more correct handling of irrefutable patterns
Add new tests for irrefutable patterns used in various tricky ways
update ptr intrinsics and rewrite vec routines to be more correct.

In particular, it is not valid to go around passing uninitialized or zero'd
memory as arguments. Rust should generally be free to assume that the arguments
it gets are valid input values, but the output of intrinsics::uninit() and
intrinsics::init() are not (e.g., an @T is just null, leading to an error
if we should try to increment the ref count).
Patch up some code that was using irrefutable patterns incorrectly.
syntax: Patch up code that was using irrefutable patterns incorrectly
extra: Patch up code that was using irrefutable patterns incorrectly.
Make all allocas named so we can see where they originate
in the generated LLVM code.
Update trans to use type to decide when to move, not the moves table (simpler
for cases where it's hard to decide what id to use for the lookup); modify
irrefutable bindings code to move or copy depending on the type, rather than
threading through a flag. Also updates how local variables and arguments are
registered. These changes were hard to isolate.
Modify borrow checker to visit irrefutable patterns that appear in
let and function arguments; modify type checker to store type
information for all patterns and handles some missing cases.
Miscellaneous fixes and cleanup
This assert does not necessarily hold; sometimes we temporarily increase ref-count
Address nits by @catamorphism