saving torrent list view when changed

bc its otherwise forgotten by an unclean exit

## slow to restart, scrambled by app changes, and no clean exit

the reason for the change is that

saving the view by restarting the app is slow. it takes around 30 min with 16k torrents bc

* starting the app is slow. it takes 1 min / 1k torrents #1541

* ending the app is slow. it takes around 10 min in total. around 0.5 min / 1k torrents to write the resume data. and then another around 5 min with 0 disk and cpu activity and 0.1 Mpbs net activity

even if i dont change the columns i sometimes have to fix them after columns are added or removed to the app. when i ran master with my around 6 months old [TransferList] settings the columns were wrong (selected, visible and widths)

i have to restart to save the view bc i never close the app cleanly. it ends bc of a memory leak, gui hang, crash or windows kernel fail after a few weeks
I am not a fan of immediate saving here. Maybe reduce the timer inside Preferences to 1 minute is better.
With your method, during app exit the qbittorrent.ini file will be opened/written multiple times. Once when TransferListWidget destructor gets called and once Preferences::drop() gets called.
This isn't good.