[fsp] Add requestUnmount() method together with the request manager.

This patch introduces a requestUnmount() method, which is invoked by Files app's private api, and then emits an onUnmountRequested event. When the providing extension receives it, it should handle unmounting, and call the success or failure callback.

Unmounting is the first implemented request in the file system provider implementation. Other requests will be: listing directories, fetching files, etc. These requests are invoked by Files app and are routed to the providing extension, then the response goes back to Files app.

To make the code clean, a RequestManager class has been introduced. It acts as a glue between requests as responses.

TEST=unit_tests: *FileSystemProviderServiceTest.Unmount*, *FileSystemProviderRequestManagerTest*; browser_tests: *FileSystemProviderApiTest.Unmount*
BUG=248427

Review URL: https://codereview.chromium.org/194693002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262840 0039d316-1c4b-4281-b951-d872f2087c98
27 files changed