RFC: Add a thread local storage module, std::tls

Introduce a new thread local storage module to the standard library, `std::tls`,
providing:

* Scoped TLS, a non-owning variant of TLS for any value.
* Owning TLS, an owning, dynamically initialized, dynamically destructed
  variant, similar to `std::local_data` today.

[Rendered](https://github.com/alexcrichton/rfcs/blob/tls-overhaul/text/0000-tls-overhaul.md)
For now the sample implementation does have a [boolean for this](https://github.com/alexcrichton/tls-rs/blob/master/src/statik.rs#L173) and it doesn't ever flip it back to `false` after it's been set. This means that once deinitialized the `get` function will always return `None`, preventing cycles. The problem arises for OS-based TLS because this was difficult to do for pthread-TLS, for example, leading to some of the more uncomfortable questions.