Refactor progress handling of FileOperationManager.Task.

To move the copy implementation to C++ layer, it is necessary to two changes
about progress handling.
1) Some files can be copied in parallel and their progress can be interaced. So
this CL changes the progress handling to support interaced progress update.
2) It turned out serializing webkitResolveLocalFileSystemURL is unacceptably
slow, so by this CL use the URL directly. For that purpose, the signature of
copyRecursively's callbacks is also changed to use url so that switching can be
easily done.

BUG=261492
TEST=Ran browser_tests --gtest_filter="*FileSystemExtensionApiTest*:*FileManagerBrowserTest*:*FileBrowserPrivateApiTest*" and tested manually.

Review URL: https://chromiumcodereview.appspot.com/23526079

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224959 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 224959