Update to the build configuration. Huge thanks to @joshayers for this excellent update! :-)
* Reorganized package config to use pyproject.toml instead of setup.py.
* Added optional dependency groups and moved some linting config into pyproject.toml.
* Added unit-tests job.
* Updated CI job to run install in verbose mode.
* Use editable install for tests.
* Updated python-publish.yml job.