Pre-RFC: Function Variants

Box::pin(x) is a helper for Pin::from(Box::new(x)) and doesn't have any performance considerations over the longer spelling, just a safety advantage. Those using an uninit new necessarily are doing unsafe to initialize the place, so it seems fine to require to unsafely pin the pointee. The one place it might reduce unsafe usage is with try_new, since "try_pin" wouldn't require using unsafe, but fallible allocation (in the global allocator) is a niche operation (due to how OOM works on the major OSes) anyway.

EDIT: ninjad by @steffahn pointing out the safe From conversion