Reduce number of TLS accesses in AllocFreeConcurrentStack<T>

AllocFreeConcurrentStack<T>'s TryAdd and TryTake methods both access a [ThreadStatic] field multiple times in any one invocation.  These repeated TLS accesses might not be optimized away, in which case the overhead is higher than necessary.  This PR caches the [ThreadStatic] into a local which is then what's accessed repeatedly.  In a microbenchmark of enumerating very small collections (e.g. an ImmutableList<int> containing one item), this yielded upwards of a 10% throughput improvement on my machine.
I prefer to leave very commonly required namespaces here even if they're not used at the moment. It makes it easier to code in the file because I don't have to fully type out a type name and then wait for Roslyn's ctrl+. menu to come up to add the `using` back.