Make istreambuf.iterator/types.pass.cpp more portable.
There are two issues here. First, istreambuf_iterator::pointer is unspecified (and MSVC uses a different type). Second, C++17 doesn't mandate std::iterator inheritance anymore (MSVC currently inherits, but we'll probably change this in the future).
These changes future-proof the test by inspecting the typedefs, and marking the pointer static_assert as libcxx-specific.