Refactor the AppController implementation into a KeyedService.

This is necessary to guarantee that the AppController will not outlive
the AppServiceProxy, which could happen before during Profile destruction.

Bug: 945427
Change-Id: I9e2089799e38d5a70a4a9aa66df5319113e7809e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1542336
Reviewed-by: Michael Giuffrida <michaelpg@chromium.org>
Commit-Queue: Lucas Tenório <ltenorio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645122}
void AppControllerImpl::SetClient(mojom::AppControllerClientPtr client) {
void AppControllerService::SetClient(mojom::AppControllerClientPtr client) {
   client_ = std::move(client);
 }

void AppControllerImpl::SetClient(mojom::AppControllerClientPtr client) {
   client_ = std::move(client);
 }
