Change std inject attributes to outer attributes

The #[phase(syntax,link)] attribute on `extern crate std` needs to be an
outer attribute so it can pretty-print properly.

Also add `#![no_std]` and `#[feature(phase)]` so compiling the
pretty-printed source will work.
Remove two outdated FIXMEs from complex.rs
auto merge of #14320 : kballard/rust/fix_stdlib_inject_attrs, r=alexcrichton

The #[phase(syntax,link)] attribute on `extern crate std` needs to be an
outer attribute so it can pretty-print properly.

Also add `#![no_std]` and `#[feature(phase)]` so compiling the
pretty-printed source will work.
mk: Replace 'oxidize' with 'rustc'. Closes #13781
auto merge of #14328 : Sawyer47/rust/remove-fixmes, r=alexcrichton
auto merge of #14334 : brson/rust/deoxidize, r=alexcrichton

Using `rustc` instead of e.g. `compile` makes it clear this is a rust build step.
libstd: Remove `~str` from all `libstd` modules except `fmt` and `str`.
libtime: Remove the `tz_zone` field from times.

It depends on `~str`.
libstd: Remove all uses of `~str` from `libstd`
libcore: Remove all uses of `~str` from `libcore`.

[breaking-change]