This updates Gerald to use Node 20 across all workflows, including updating dependencies to support Node 20. In addition, the workflows have been reworked to remove the need for workflow templates and to use some of our existing actions to do things like detect which files have changed.