update tutorial and manual to use new `impl Trait for Type` syntax
auto merge of #4925 : cpeterso/rust/docs-impl-trait-for-type, r=pcwalton

Replace `impl Type: Trait` with `impl Trait for Type` throughout tutorial and manual.
Cleanup, commenting, trivial renaming
commenting
more info on overly deep expansion
started work on enriching idents
working on adding syntax contexts to identifiers