[Extensions Bindings] Add chrome.runtime.lastError support

If an API function returns an error, we surface it through
chrome.runtime.lastError. Add support for this with native bindings.

Note: we also currently set the last error on the (deprecated)
chrome.extension.lastError. This CL does not address that.

BUG=653596

Review-Url: https://codereview.chromium.org/2657613005
Cr-Commit-Position: refs/heads/master@{#450256}
17 files changed