Replace #warn with warn!
Eliminate non-standalone unsafe blocks
Enclose unsafe fns in unsafe blocks
Use explicit `self` parameter
Records are now structs
Replace fail with die!()
Rename test to tests
Add Makefile
PatternLike#compile() should have `&self`

Implementing a method that have `self` parameter on ~str or @str
blows up the compiler.
Merge branch 'rust-0.5'

Now works with Rust 0.5.