Allow asynchronous deferral in NavigationSimulator

This patch adds functionality to the testing class NavigationSimulator,
to allow for NavigationThrottles to defer and cancel the navigation.

The new functionality is tested by new NavigationSimulator unit tests,
as well as new subresource filter unit tests exercising the untested
SubframeNavigationFilteringThrottle.

BUG=637415
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2698393002
Cr-Commit-Position: refs/heads/master@{#455752}
8 files changed