RFC: Replae std::local_data with std::tls

Replace the task-based `std::local_data` module with a
thread-local-storage-based `std::tls` module. The `tls` module will provide:

* Raw OS TLS, aka `pthread_key_create` or `TlsAlloc`.
* Scoped TLS, a non-owning variant of TLS for any value.
* Owning TLS, an owning, dynamically initialized and dynamically destructed
  variant, similar to `std::local_data` today.