librustc: Implement the `proc` type as sugar for `~once fn` and `proc`
notation for closures, and disable the feature gate for `once fn` if
used with the `~` sigil.
auto merge of #10132 : pcwalton/rust/proc, r=brson

the feature gate for `once fn` if used with the `~` sigil.

r? @brson