Reland "Have NavigationSimulator support browser-initiated navigations"

Initial commit message:
This CL adds support for simulating browser-initiated navigations using
NavigationSimulator. It removes the one usage outside of content/ of
RenderFrameHostTester::SimulateNavigationStart in simulation of
browser-initiated navigations. It also makes
TestWebContents::NavigateAndCommit use NavigationSimulator.

The original CL was reverted because it casted WebContents into their
TestWebContents version. This didn't work in tests that uses
NavigationSimulator and don't inherit from RenderViewHostHarness (but
use the RenderViewHostTestEnabler instead). In that case, WebContents
are not created as TestWebContents. The reland removes the cast.

BUG=728571
TBR=mmenke@chromium.org, timloh@chromium.org, nparker@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: If7203b1be972e623bdc4b06d7fdefc3b8f755405
Reviewed-on: https://chromium-review.googlesource.com/616938
Commit-Queue: Camille Lamy <clamy@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495263}
8 files changed