Make atom! a pattern macro too and get rid of match_atom!

This eliminates a bunch of ugliness.
Switch to upstream for rust-phf submodule
Change macro error handling macros to take a span
Clean rust-phf on make clean
macros: Use an absolute path for DummyResult
Implement and use the match_token! macro
Generate docs
More concise tree builder error handling
AfterHead mode
Combine drop_unexpected! into unexpected!
Better error message on atom!() lookup failure
Upgrade to rustc 0.11.0-pre (6a3695d54f14491c39da7910082df9ba9c833b37 2014-06-29 00:31:30 +0000)