fix(smart_holder): keep void-cast semantics in from_unique_ptr (#6163)

* fix(smart_holder): keep void-cast semantics in from_unique_ptr

Fixes item 4 of #6159.

* test: cover base unique_ptr factories and trampoline lifetime

* test: limit prompt trampoline destruction check to CPython

* docs: clarify smart_holder void-cast ownership safeguard

---------

Co-authored-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
4 files changed