librustc: Implement the `proc` type as sugar for `~once fn`, and disable

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