fix: property docstrings missing self (#6252)

* Mark lambda properties as docstrings

Pybind11 does not mark properties as is_method leading to self in the docstring being arg0

* style: pre-commit fixes

* Add constructor

* style: pre-commit fixes

* Add tests

* style: pre-commit fixes

* Replace nullptr constructors with template

* De-duplicate docstrings

* Add lambda and cpp_function tests

* style: pre-commit fixes

* Fix lambda setter

* fix: avoid nullptr ambiguity in cpp_function, xfail cpp_function docstring

The lambda constructor accepted std::nullptr_t, which made calls with
nullptr and extras ambiguous on GCC 8/9. Also update the late-arg strdup
comment, and mark the user-supplied cpp_function docstring case as a
known limitation.

Assisted-by: ClaudeCode:claude-opus-5-5

* fix: merge nullptr cpp_function constructors, split xfail test

Fold cpp_function(std::nullptr_t) into the variadic overload with a
NOLINT for google-explicit-constructor, which clang-tidy flagged. Test
the getter and setter cpp_function docstrings separately.

Assisted-by: ClaudeCode:claude-opus-5-5

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <henryfs@princeton.edu>
3 files changed