Fix issue 10165 (rework of PR #1302)

http://issues.dlang.org/show_bug.cgi?id=10165
Issue 10165: No syntax to create thread-local shared variables

Adds `UnqualRef` templated alias/struct that is similar to Rebindable but
strips away all qualifiers completely (including shared)

An alternative to https://github.com/D-Programming-Language/phobos/pull/1302
It is needed to create `U` type alias that is used in `RebindableCommon!(T, U, UnqualRef)` below.

`X` can be removed though. Updated.