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
Methodize TypeNames
Change calls for TypeName stuff to methods
Make log_fn_time a method
Start refacting LLVM Type handling
More Type refactorings
Add the rest of the atomic operations.

This makes the handling of atomic operations more generic, which
does impose a specific naming convention for the intrinsics, but
that seems ok with me, rather than having an individual case for
each name.

It also adds the intrinsics to the the intrinsics file.
Initial Type Refactoring done
Finish up Type refactoring
Fix warnings in trans
Move count-llvm-insn code into task-local storage
Fix-up PP Code to reflect new lifetime param syntax
Remove remaining address space related code