Ensure Freed TLS Slots Contain nullptr on Reallocation

Code generally depends on TLS slots initialized to zero. This means
that code that gets a reused slot also depends on the reused slot
containing zero.

This CL introduces a versioning system to allow us to quickly determine
if a slot was previously freed.

Also added overview comments as a bonus.

BUG=590907

Review-Url: https://codereview.chromium.org/2383833004
Cr-Commit-Position: refs/heads/master@{#423952}
3 files changed