* Makefile improvements + pre-commit hook
* update make target in CI
* fix CI more
* .gitignore update
* couple more Makefile refinements
* make target-version explicit on ruff import sorting
There are a few minor changes here compared to black; it flagged
unnecessary string concatenations, and has slightly different
opinions on line length.
This adds two CI runs: a quick one that happens for every pull
request and merge to master, and a longer one that happens daily.
This also adds a new installation group to setup.py because the
`easy` group isn't currently installable, and some of the dependencies
specified there need to be present for the tests to run.