Creates a thread local ``property``.

def thread_local_property(name):
    '''Creates a thread local ``property``.'''
    name = '_thread_local_' + name

    def fget(self):
        try:
            return getattr(self, name).value
        except AttributeError:
            return None

    def fset(self, value):
        getattr(self, name).value = value

    return property(fget=fget, fset=fset)