(Re-)introduce AncestorThrottle to handle 'X-Frame-Options'.

This patch moves ancestor-based blocking behavior up from Blink into the
browser, which gives us some correctness assurances we can't match in
the renderer (for top-level plugins, etc), and ensures that a (malicious?)
renderer isn't responsible for policing itself.

This is a re-land of https://codereview.chromium.org/1617043002, after
clamy@'s heroic refactoring effort to process 'Content-Disposition' and
similar download-triggering mechanisms before handing things off to
this new throttle.

BUG=555418
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation,linux_chromium_browser_side_navigation_rel

Review-Url: https://codereview.chromium.org/2488743003
Cr-Commit-Position: refs/heads/master@{#440055}
33 files changed