v2: - don't change type of 'refs' in constructors (but change in facet class for msvcp >= 110); - don't test data past end of the class; - workaround clang 'unitialized variable' error; - wrap some long lines in tests; - move `p_codecvt_char16_do_in to the later patch.