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 <sdefresne@chromium.org>
Auto-Submit: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661713}
54 files changed