* Use pydocstyle (D) rule with google convention
Add a ruff rule to catch missing documentation. Using google convention so that undocumented-param (D417) rule is enabled to catch missing params, xref https://docs.astral.sh/ruff/rules/undocumented-param. Extended to include D213 (instead of D212) and D410 rules too.
* Fix D100 Missing docstring in public module
* Fix D101 Missing docstring in public class
* Fix D103 Missing docstring in public function
Also ignore rule D205 to allow first sentence of docstring to wrap to multiple lines.
* Fix D417 Missing argument description in the docstring
* Update indent in pyproject.toml file