Simplify the JavaScriptDialogManager.

- This collapses two closely-related calls into just one.
- This allows the WebContents to specify no callbacks, which avoids calling back to it while it's being destructed. (This is a state that is not possible now, but will be possible soon.)

BUG=629964
TEST=existing tests

Review-Url: https://codereview.chromium.org/2412843002
Cr-Commit-Position: refs/heads/master@{#424875}
20 files changed