Added overview of the debuginfo module at the beginning of debuginfo.rs.
Fixed compiler warnings about unnecessary string allocations in debuginfo.rs
Reordered debuginfo.rs and commented public fns
debuginfo.rs: Removed some static constants not used anymore.
debuginfo.rs: Explained why a function is called although one could think it should not be.
debuginfo.rs: Removed trailing whitespace.
Make task_rng() return @mut R instead of @@mut R
Fix get_tydesc() return type

This fixes part of #3730, but not all.
Also changes the TyDesc struct to be equivalent with the generated
code, with the hope that the above issue may one day be closed for good,
i.e. that the TyDesc type can completely be specified in the Rust
sources and not be generated.
Remove intrinsic module

To achieve this, the following changes were made:
* Move TyDesc, TyVisitor and Opaque to std::unstable::intrinsics
* Convert TyDesc, TyVisitor and Opaque to lang items instead of specially
  handling the intrinsics module
* Removed TypeDesc, FreeGlue and get_type_desc() from sys

Fixes #3475.
Fix and reenable the reflect-visit-type test
Remove unused shape fields from typedescs
Small cleanups
Remove rust_call_tydesc_glue

Towards #4812. Also includes some minor cleanups.
syntax: Remove unused tokens

TyDesc, TyVisitor and intrinsic are not used anymore.
Remove unused TyDesc parameter from the glue functions

To remove the environment pointer, support for function pointers without
an environment argument is needed (i.e. a fixed version of #6661).
Fix reflect-visit-type for iterator changes
Add 'static mut' items to the language
Support foreign 'static mut' variables as well
iterator: Add `IteratorUtil::flat_map_` method

flat_map_ produces an iterator that maps each element to an iterator,
and yields the elements of the produced iterators.

This is the monadic bind :: M a -> (a -> M b) -> M b  for iterators.

Named just like the vec method, but with a trailing underline until the
method resolution bug is resolved.
Fix 'static mut' tests