Force non-gcc to use external language strings
Adjust prototype for msgbox_warning
Add workaround for compilers with strict std::array iterator

VS2010 uses std::array that has a class for iterator, which results in
an ambiguous std::distance.  Rather than fix all dxx code to pass
iterators, hack around it by coercing the begin iterator into a pointer.