Update to work with Rust 0.8.

- Trait Drop has changed from ```fn drop(&self)``` to ```fn drop(&mut self)```.
- The implementation of Unique also had to be updated to work with the latest version of Rust. I think that is from a hack to jump over the header and not from Rust0.8 itself.