bindings: Supports [SaveSameObject] extended attribute.

Syntactically we've supported [SameObject] extended attribute,
but we've not had any implementation for it.

This CL supports [SaveSameObject] extended attribute that
stores the first returned value in the holder's private value,
and returns it for the second time.

The first attempt is: https://crrev.com/1980553002

BUG=462913

Review-Url: https://codereview.chromium.org/2008823002
Cr-Commit-Position: refs/heads/master@{#396450}
7 files changed