Added filtered method for Option type
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
Fixed os:: and int:: not being in scope, changed io::println to println
Updated copyright year on shootout-binarytrees.rs
Changed shootout-chameneos-redux output to conform to the 'official' output format.
Added missing copyright notice to shootout-spectralnorm.
Fixed shootout-fasta.rs output
Updated shootout-fasta.rs copyright years, removed stuff that caused lint to complain.
Changed Arena API to make it usable once more.
auto merge of #7279 : hanny24/rust/master, r=msullivan

This commit adds filtered method for Option type. It is not exactly necessary (chain method can be used instead), however I believe that this approach using extra filtered method is more convinient.
Add 'static mut' items to the language
Support foreign 'static mut' variables as well