Enhancement: Keep oldest snapshot when there are not enough snapshots

The `forget` command now additionally preserves the oldest snapshot if fewer
snapshots than allowed by the `--keep-*` parameters would otherwise be kept.
This maximizes the amount of history kept within the specified limits.

https://github.com/restic/restic/issues/3624
https://github.com/restic/restic/pull/4366
https://forum.restic.net/t/keeping-yearly-snapshots-policy-when-backup-began-during-the-year/4670/2