Reland "Lazily register prototype users..."
...when handing out validity cells to handlers; because invalidating said cells is
the only time we'll need the user registrations.
Along the way, fix a corner case in WeakFixedArray, which can now be empty after
the recently introduced compaction support.
This reverts commit
968715c653b6337252a05a0224a7a93fab3b0866.
Original review: https://codereview.chromium.org/
1104813004/
Review URL: https://codereview.chromium.org/
1110513002
Cr-Commit-Position: refs/heads/master@{#28076}