Extension messaging: Port creation support targeting extension SW.

Most of the support already exists, this CL makes sure port creation
works and the port can be:
  - Used to send message to an extension SW
  - Disconnected.
This CL also adds tests for port PostMessage and port.disconnect.

Bug: 939183
Test: chrome.runtime.connect works from content script to extension SW.
Change-Id: Ie19400cd0627e9ca56f787be3cfe512ba73983cb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1508786
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#639122}
9 files changed