move most of front to libsyntax

I tried to move all of front to libsyntax but feature_gate.rs and std_inject.rs have small but annoying dependencies on other rustc stuff. So I'm not really sure if moving just this stuff is worthwhile, but it does seem a bit of a better fit in libsyntax.

r?
Couldn't this fit better as a syntax extension?
Imagine `--test` added a `#![test]` or `#![test_harness]` attribute to the crate, and everything from there on would be handled as a regular syntax extension.