Cleanup AppListSyncableService

This is just some code cleanup that I did while adding support for
folder sync. There are no major functional changes, but it does fix some
minor bugs exposed while testing AppList sync.

The cleanup includes:
* Rename GetAppType() -> GetItemType() which is more descriptive
* Introduce AppListSyncableService::ItemListObserver so that any changes
  to AppListModel.item_list_ are reflected in sync items
* Eliminates SyncItem update calls from ExtensionAppModelBuilder
* Breaks up AppListSyncableService::AddItem into smaller pieces

BUG=335761

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

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

BUG=none

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

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