Use rustpkg

This pull request rearranges all the code to work with rustpkg. It's a pretty big change and may impact what others are working on, so I'd like to have someone else review and make the final merge decision.

I also removed `Unique`, since we decided it isn't super useful right now, and it was causing trouble with `rustc`.

Unfortunately, we had to move all the tests into a single `test.rs` file.