Make sure downloads list updates properly when a downloads finishes

Until now the user had to reload the downloads list to make it update. This commit makes it updated on download completion.
Also, it moves the episode downloads off the default async executor since that has the same problem as the podcast loading
and tends to block other tasks that should run at higher priority.