Add no-modification assert to HashTableAddResult.

Also, this CL adds specialized version of HashTableAddResult to keep
a weak key alive.

Revert replacement of add-new with get-set in [1].  The add-new idiom
is better because it can check HashMap modification.

[1] https://src.chromium.org/viewvc/blink?view=rev&revision=171265

BUG=

Review URL: https://codereview.chromium.org/226073004

git-svn-id: svn://svn.chromium.org/blink/trunk@171563 bbb929c8-8fbe-4397-9dbb-9b2b20218538