Upgraded to Rust 0.6 syntax.

* removed pub from `pub impl A for B`
* replaced `const` with `static`
* implemented `Drop` and `Index` traits
* removed `pure` and `static` function keywords
* removed `DVec`
* added `self` parameters to methods
Specify types on `cast::transmute` calls.
Move attributes outside of test function.