Rip out old code that still structured method calls as a
expr_call(expr_field(...)) rather than an expr_method_call.
There is probably more such code in trans that should be removed.
Add various debug statements to trans that I used to help track down the
problem and which seem like they could be useful in the future.
Stop writing directly to the final type/method/vtable sidetables from astconv
and from typeck, which is verboten.  We are supposed to write inference results
into the FnCtxt and then these get copied over in writeback.  Add assertions
that no inference by-products are added to this table.

Fixes #3888
Fixes #4036
Fixes #4492
auto merge of #5467 : nikomatsakis/rust/issues-3888-4036-4492-cannot-encode-region-variables, r=nikomatsakis

The basic problem was that vtables were not being resolved.  The fix uncovered another issue, which was that the syntax extensions were not creating method calls properly and were relying on outdated code in typeck, so I fixed that too.  

Resolves issues #3888, #4036, #4492.

r? @catamorphism
Remove unused imports throughout
syntax: Removing uses of HashMap
doc: Remove mentions of oldmap::HashMap
rustc: Remove uses of oldmap::HashMap
rustc: Purge of HashMap, fixing segfaulting cases

Various FIXME comments added around to denote copies which when removed cause
the compiler to segfault at some point before stage2. None of these copies
should even be necessary.
test: Remove uses of oldmap::HashMap
Move ast_map::map to LinearMap
std: Remove the oldmap module