Parse macro_crate!
Load macro crates

We don't actually do anything with them yet.
Load macros from external crates!
Switch from macro_crate! to #[phase(syntax)]
Pull CrateLoader out of phase_2

This will allow rustpkg to use a custom CrateLoader that can track down
dependencies.
Properly unload macro crates

There's some unfortunate use of RefCell due to unfortunate use of @mut
:(