[DevTools] Report unhandled exceptions and promise rejections through Runtime.

Introduced Runtime.exceptionUnhandled and Runtime.exceptionRevoked methods which report exceptions when Runtime is enabled.

Internally, we share the storage with console messages. That means exceptions can be evicted before Runtime.enable was called due to excessive number of console messages.

Rough edges:
- console.clear also clears the storage for exceptions;
- releaseObjectGroup("console") releases exception objects as well;
- integration on the frontend reuses ConsoleMessage and is somewhat ugly;
- we may want to separate console vs exceptions on backend side.

BUG=613882

Review-Url: https://codereview.chromium.org/2116563003
Cr-Commit-Position: refs/heads/master@{#404576}
38 files changed