Separate JumpListIcons delete task and update task

The JumpListIcons delete task deletes the existing icons in JumpListIcons,
while the update task creates the new icons, writes them into JumpListIcons
and notifies the shell. It is better to separate them so we can track
the individual cost. Since a base::SingleThreadTaskRunner is used for
posting these tasks, the tasks are always running in the correct order.

This CL also adds a base::SequencedTaskRunner for JumpListIconsOld
delete tasks as they are not required to run on a single thread.

BUG=40407, 179576

Review-Url: https://codereview.chromium.org/2807883002
Cr-Commit-Position: refs/heads/master@{#463396}
4 files changed