Convert FaviconService callbacks to base::OnceCallback<>

FaviconService's callbacks are only invoked once but they predate
the introduction of base::OnceCallback so they are declared as
base::Callback which correspond to base::RepeatingCallback.

Change them to use base::OnceCallback to reflect that they will
only be invoked once. This will allow removing the pattern
base::Passed(std::moved(...)) in the call to base::Bind() in
a followup CL.

Change MockFaviconService to remove a workaround for old version
of gMock that did not support move-only parameters. Removing the
workaround required also removing the PostReply and other action
template to instead use lambdas (ByMove cannot be used as it is
limited to Return action as far as I can tell).

Bug: 759710, 714018
Change-Id: Id721ce07a3f1b305b326c84465259f7b45424798
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613181
Commit-Queue: Sylvain Defresne <[email protected]>
Auto-Submit: Sylvain Defresne <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Mikel Astiz <[email protected]>
Cr-Commit-Position: refs/heads/master@{#661713}
diff --git a/chrome/browser/extensions/extension_web_ui.h b/chrome/browser/extensions/extension_web_ui.h
index dfa399a..d97d38c 100644
--- a/chrome/browser/extensions/extension_web_ui.h
+++ b/chrome/browser/extensions/extension_web_ui.h
@@ -66,10 +66,9 @@
 
   // Get the favicon for the extension by getting an icon from the manifest.
   // Note. |callback| is always run asynchronously.
-  static void GetFaviconForURL(
-      Profile* profile,
-      const GURL& page_url,
-      const favicon_base::FaviconResultsCallback& callback);
+  static void GetFaviconForURL(Profile* profile,
+                               const GURL& page_url,
+                               favicon_base::FaviconResultsCallback callback);
 
  private:
   // Unregister the specified override, and if it's the currently active one,