Revert "Ensure cancelling a download is done in the same thread it started; take #2"

This reverts commit 229a4267480a59b9a0de02e2d5ad4c9a971b7c9c.
Revert "Revert "Fix MythDownloadManger after 997f7aa10. It was possible for queue and cancel requests to be handled out of order resulting in newly queued downloads being cancelled almost immediately. We avoid this by removing any cancelled downloads  from the download queue to a new cancellation queue, then we clean up the cancelled downloads later without affecting new additions.""

This reverts commit eb3a3382a21c71fd0d1c9ff57aa64480ad03b36a.
Revert "Revert "Prevent multiple instances of the same DownloadInfo pointer being added to the cancellation queue""

This reverts commit e715acc3fbf72c54cea97df27ef7661221fb3dab.
Use a queue to cancel downloads.
cancelDownload can be blocking or not.
Add API to cancel a list of urls.
Hopefully prevent another racing conditions seen with HLS recorder when changing channels quickly.

Fixes #11663
Bump API
Use new MythDownloadManager::cancelDownload(QStringList) API

So we only need to wait once for all download to be cancelled.
Don't block when cancelling a URL.