Move NavigationRequest creation to NavigationController: 2/3

This CL moves the NavigationRequest creation to the NavigationController. The
Navigator will now take a NavigationRequest as an argument to Navigate instead
of the pending NavigationEntry.

Summary of the changes:
1) Navigator
 - NavigatorImpl::NavigateToEntry and NavigatorImpl::NavigateToPendingEntry are
   removed in favor of Navigate which takes as argument a NavigationRequest. The
   NavigationController is now responsible for creating the NavigationRequest and
   passing it to Navigator::Navigate to have the navigation start.
 - NavigatorImpl::RequestNavigation, which currently creates the
   NavigationRequest is removed. Instead, the NavigationRequest is created in
   NavigationControllerImpl::CreateNavigationRequest.

2) NavigationController
 - HandleRendererDebugURL is called from NavigateWithoutEntry and handles
   navigation to a renderer debug URL. Navigations to a renderer debug URL do not
   require a NavigationRequest. They cannot commit, hence why we can't have a
   committed NavigationEntry for a renderer debug URL.

The next CLs will cleanup the internals of NavigationController.

Bug: 803365
Change-Id: I8b01384324ccfdca451baf1e645ac7d0869e8d47
Reviewed-on: https://chromium-review.googlesource.com/957735
Commit-Queue: Camille Lamy <[email protected]>
Reviewed-by: Charlie Reis <[email protected]>
Cr-Commit-Position: refs/heads/master@{#562250}
9 files changed