[smart_holder] Keep parent alive when returning raw pointers (#4609)

* Avoid dangling pointers.

* Add test for const ptr

* Fix test failures.

* Fix ClangTidy

* fix emplace_back
3 files changed