Use private symbols instead of hidden values
Private symbols use the same infrastructure as ES6 symbols, except that
they are private (i.e. proxies can't intercept them), and we're about to
remove hidden values from the api.
BUG=none
R=rdevlin.cronin@chromium.org
Review URL: https://codereview.chromium.org/1434433003
Cr-Commit-Position: refs/heads/master@{#358399}