Use reinterpret cast is [does|may]PointTo

Instead of a straight up cast. Avoids problems related to opCast or alias this, such as those in:
http://forum.dlang.org/thread/vldwvnuivsfwjozqiuup@forum.dlang.org
I'd propose `std.typecons`, since (*very*) loosely speaking, it's constructing a "new" type out of an existing one. Kindof. Besides, that's also where things like `Unique` and other type-wrappers and pseudo type-constructors are, so it would fit in with the motley crew, as it were.