librustc: Don't require `pub extern` to make extern functions visible
Remove all uses of `pub impl`. rs=style
auto merge of #6871 : pcwalton/rust/de-pub-impl, r=pcwalton
std: fix run tests when symlink is in the rust checkout path
syntax: move callee_id into the expr_ variants

oddness in expr_field

middle/moves: line 479 expr_call
middle/check_loans: expr_call line 711
middle/lint: 930
middle/check_const: 143
middle/typeck/check/mod: 2579
syntax: remove callee_id from expr_call
syntax: Remove callee_id from expr_field

I'm not 100% sure about this commit. The only use of
expr_field's callee_id is in librustc/middle/trans/type_use.rs.
Now that expr_fields never represent methods, this callee_id
should be safe to remove it.