Improve code generation for thread_local variables:
- Don't bother using a thread wrapper when the variable is known to have constant initialization.
- Emit the thread wrapper as discardable-if-unused in TUs that don't contain a definition of the thread_local variable.
- Don't emit the thread wrapper at all if the thread_local variable is unused and discardable; it will be emitted by all TUs that need it.
Reviewers: rjmccall, jdoerfert
Differential Revision: https://reviews.llvm.org/D67429