Fix Issue 13157 -  std.typecons.Unique: Support construction and conversion from compatible types

https://issues.dlang.org/show_bug.cgi?id=13157

* ~~Enable 'safer' construction of the unique resource without aliases, by wrapping the resource constructor~~. This code is updated as `Unique.create` but still commented out - see 6d439fa.
* Enable construction of `Unique!Base` from `Unique!Derived` rvalue.
* Support transferring `Unique!Derived` rvalue to existing `Unique!Base`.
* Add general example to the docs.
* Document `isEmpty`, `RefT`.
`args` need to be `auto ref` in case a constructor for `T` receives any arguments by ref.

It may also be a good idea to put a constraint on it to push up error messages for erroneous calls.