Do not create un-GC-able symbols when creating ThreadLocalVars

GC all data for a given thread local var when the var is GCed
cc @chrisseaton 
Another would be
```ruby
  module ThreadLocalRubyStorage

    def allocate_storage
      @storage = Atomic.new Hash.new
    end

    def get
      @storage.get[Thread.current]
    end

    def set(value)
      @storage.update { |s| s.merge Thread.current => value }
    end

  end
```
Reading can be done with simple get, since only the same thread could modify the value.