app_list: Fix possible out of bounds index.
- Fix a problem that could not drop at the last position when dragging
an item out of a folder;
- Fix a case view_model_.Move is called with an out of range target index
when dragging the last item out of folder;
- Add a test for dragging last item and drop it at last slot;
- Speculative fix to protect using an index from data model to modify
view_model_;
- A few more DCHECKs to catch the out-of-bound case;
BUG=370064
TEST=AppListMainViewTest.DragLastItemFromFolderAndDropAtLastSlot
Review URL: https://codereview.chromium.org/
298963004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273151 0039d316-1c4b-4281-b951-d872f2087c98