Allow other preemption signals than SIGUSR1
🚀 Feature

Automatically save a checkpoint when receiving a SIGTERM, or at least don't overwrite existing handlers for it.
Motivation
When running on a SLURM cluster, Lightning automatically saves a checkpoint when receiving a SIGUSR1. This is cool; however, it ignores SIGTERM and overrides any pre-existing handler. I'm running on a SLURM cluster where my jobs may be pre-empted after receiving SIGTERM, so I would like to save a checkpoint on receiving this signal as well.

Pitch
Allow the user to specify on which signal Lightning should autosave a checkpoint, e.g. via
trainer = Trainer(autosave_on=signal.SIGTERM) # default: signal.SIGUSR1

Alternatives

Change nothing. Signal handlers can still be overwritten during training/validation/test step, but this is awkward and not the right place to do it.
Remove the SIGTERM handler or allow it to be customized, e.g. for forwarding it to SIGUSR1.