[TaskScheduler] Migrate image_writer_private/ to scheduler.

This CL removes all of image_writer_private/ code to use sequences
instead of FILE thread as FILE thread is going away.

image_writer_private APIs perform all of its tasks through
OperationManager.
OperationManager lives on UI thread and owns instances of Operation-s
using scoped_refptr. Most of Operation's tasks require I/O. This CL
creates task runners for each Operation and executes methods on
that task runner.
Operation also requires zip_reader from third_party, which
unfortunately requires SingleThreadTaskRunner. Before that code
can be changed, wrap calls to zip_reader from Operation under
UnzipHelper. UnzipHelper provides the thread task runner to
zip_reader.

Change-Id: I730b32213fda4734211fc344ae2e10c4cbb1b3ee
Bug: 689520
Reviewed-on: https://chromium-review.googlesource.com/596671
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493127}
23 files changed