Change custom bindings to accept FilesAppEntry

|fileManagerPrivateNatives.GetEntryURL| fails if it receives a
non-native entry, such as VolumeEntry. Previously I've worked around
this by unwrapping VolumeEntry on |changeDirectoryEntry| however
MyFiles changes is expanding the use of FilesAppEntry types, so this CL
refactors the unwrapping to be performed on our custom bindings.

Refactor |VolumeEntry.rootEntry| to be more generic to any
FilesAppEntry renamed to |getNativeEntry| and added as part of
FilesAppEntry interface.

Add methods |getDirectory| and |getFile| to VolumeEntry, because after
renaming this method is also called and was raising an error.

Add a utility that unwraps an entry if necessary.

The test below fails without unwrapping the entry before sending to
fileManagerPrivate.

MyFiles/FilesAppBrowserTest.Test/myFilesFolderRename:
*FileManagerJsTest.FilesAppEntryTypes'

Test: gtest_filter='
Bug: 873539
Change-Id: I0673ed7a8aaeefcec84ed2fc09fe3555c453ef4d
Reviewed-on: https://chromium-review.googlesource.com/c/1338820
Commit-Queue: Luciano Pacheco <lucmult@chromium.org>
Reviewed-by: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608680}
7 files changed