Reland "First draft of an App Service ARC++ publisher"

This is a reland of 7cd680d601dadc27d26d1a6e17658028f49fab56

It is combined with the fix in http://crrev.com/c/1406488 "Fix switch on
apps::mojom::LaunchSource", which was not submitted, but has some
discussion of the build breakage.

Original change's description:
> First draft of an App Service ARC++ publisher
>
> Lots of TODOs, but there's enough implemented so that running "chrome
> --enable-features=AppService" will populate the launcher with ARC++
> apps' names and icons, and clicking on the icon will launch the app.
>
> BUG=826982
>
> Change-Id: Ie61b33ce9fa0588e53615f5e086d558fe6abf840
> Reviewed-on: https://chromium-review.googlesource.com/c/1377485
> Commit-Queue: Nigel Tao <nigeltao@chromium.org>
> Reviewed-by: Dominick Ng <dominickn@chromium.org>
> Reviewed-by: James Cook <jamescook@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#621923}

Bug: 826982
Change-Id: I76b5fdcc85f9992ad684c3eca57e0213050ef186
Reviewed-on: https://chromium-review.googlesource.com/c/1406490
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Nigel Tao <nigeltao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622153}
12 files changed