libcore: remove default to_str implementations for pointer types

These couldn't be overridden and so ended up being quite restrictive. This has
the side effect of changing the stringification of ~vecs, but nothing in
relied on this. Closes #4869.
Fix typo in grammar: underscore, not minus, can appear amongst hex digits.
Fix: now sha1 result_str() return correct value
rt: Make some runtime calls work outside of task context
testsuite: Update and un-xfail #3601 test
auto merge of #5140 : yjh0502/rust/issue_4458, r=catamorphism

Fix is a bug fix for issue #4458.

This patch is quite straight-forward. A test for result_str() is added.
Turn old `drop` blocks into `Drop` traits
Introduce lifetime declarations into the lists of type parameters.

Major changes are:
- replace ~[ty_param] with Generics structure, which includes
  both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;

cc #4846
auto merge of #5149 : brson/rust/rt, r=brson

Just a few minor things required for freestanding Rust.
auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, r=nikomatsakis

Major changes are:
- replace ~[ty_param] with Generics structure, which includes
  both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;

cc #4846

r? @graydon
Remove the last remnants of rtcalls
auto merge of #5106 : pnkfelix/rust/fix-docs, r=graydon

...s.  I freely admit I have not run a "make check" on this (trivial) change.
auto merge of #5098 : pkgw/rust/pr/issue4869, r=brson

See issue #4869. I'm not quite sure what constitutes "consensus from the core team" (cf. discussion in the issue), but this at least demonstrates that the proposed change is pretty straightforward.

After this change, there are no new test failures. I've un-ignored the `to_str` vectors test; it's not at all obvious to me why it'd be problematic, and it passes on my Linux machine.
auto merge of #5152 : catamorphism/rust/issue-3601, r=catamorphism
auto merge of #5155 : bstrie/rust/dedrop, r=pcwalton

This removes all but 6 uses of `drop {}` from the entire codebase. Removing any of the remaining uses causes various non-trivial bugs; I'll start reporting them once this gets merged.
auto merge of #5159 : brson/rust/rtcall, r=brson
librustc: Mark all type implementations public. rs=impl-publicity
librustc: Make methods private if the impl is private
librustc: Enforce cross-crate method privacy