Optimize add/set/delete operations for string keys in Maps and Sets

This was previously landed in commit 66e2f60, but failed the
collections mjsunit test with --deopt-every-n=1 due to a typo
in the shrinking code. This patch corrects and simplifies the
shrinking logic, and the tests now pass.

R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25695}
Revert of Optimize add/set/delete operations for string keys in Maps and Sets (patchset #1 id:1 of https://codereview.chromium.org/777663003/)

Reason for revert:
Deopt fuzzer reports that something's still broken, reverting until
I can create a minimal repro.

Original issue's description:
> Optimize add/set/delete operations for string keys in Maps and Sets
>
> This was previously landed in commit 66e2f60, but failed the
> collections mjsunit test with --deopt-every-n=1 due to a typo
> in the shrinking code. This patch corrects and simplifies the
> shrinking logic, and the tests now pass.
>
> R=dslomov@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/8599f5f047b4400f7f61de9e449b2246c9aad471

TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25696}