[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