Navigation: Replacing interface mocking by simple overrides.

After a long struggle to try and make mock interfaces for navigations,
(attempt here https://chromium-review.googlesource.com/c/chromium/src/+/1366334),
finally settling for a more direct approach that enables finer grain management
of callbacks.

By wrapping interface calls in functions in the RFHI we are able to override it
in the TRFH and have no reliance on mocks. Their only use would have been to
manage disconnections natively, but we can, in the rare cases where we need it
call the implementations directly.

In practice:
- 2 new functions wrapper in RFHI
- 2 overrides of these functions in the TRFH
- 4 storage spaces in TRFH
- The same unified callback method in NavigationSimulator
With this, we know what navigation interface was called, and what callback was
provided.

Note: Might implement a structure wrapping all Commit parameters in the future,
because this is getting quite nasty to change a simple parameter in there.

Bug: 784904
Change-Id: I46dc45e3ada1bc00120f1f45f84f1edb8d43906d
Reviewed-on: https://chromium-review.googlesource.com/c/1386104
Commit-Queue: Arthur Hemery <ahemery@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619912}
9 files changed