Add `SoftConcurrentLocalContextProvider`.

It is similar to `ConcurrentLocalContextProvider` but uses a soft
reference within the thread locals.