Convert the navigation list to use Entry instead of paths.

This patch converts the NavigataionList class to use Entry everywhere. To do that, the underlying model had to be changed too.

To do so, the FolderShortcutsDataModel has been significantly changed. Since shortcuts may not be available, or resolving them may take a lot of time, the items in the model are initialized asynchonously, resulting in a Add operation (and thereof a permute event) as soon as a shortcut's entry is resolved.

This changes behavior of navigation list. First of all, if a shortcut is added to the navigation list, then it must have an entry. So, if a shortcut is not available, then it will not be displayed.

Shortcuts which are not resolved, are not removed from the preferences if the Drive is offline. It may happen, that Drive is out of sync, and the shortcut directory is not cached. Unresolved shortcuts are removed from preferences only if Drive is fully online, and resolving fails.

Lastly, this is just an initial CL for migrating from Entry to paths. Paths are still used in the shortcuts model when storing and restoring from preferences. It will be migrated to URLs in a separate CL.

TEST=Tested manually.
BUG=331986
R=yoshiki@chromium.org

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

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