Rust 0.9 pre rebase

Now rebased to your master branch. Compiles and runs with mozilla/rust@c1ef1ce