Define std::void_t for -std=c++17 and -std=gnu++11 (like Ville's uncaught_exceptions() patch I think this is useful to define as an extension pre-C++17, and the feature-test macro makes it easy for users to test for the presence/absence of it in different modes). Tested ppc64le-linux, committed to trunk.