Workaround compilers which lack C++11 uniform initialization syntax

Remove uniform initialization syntax and use instead the older, more
verbose, syntax based on constructing a named temporary, populating it,
and returning it.  For the two uses so far, the underlying type is cheap
to copy, so the change does not have performance implications.
Make defined(SUPPORT_MULTIPLE_LANGUAGES) builds work
Fix memory corruption on loading games with a CT_WEAPON in flight
Define away __attribute_used__ for MSVC users
Use array::iterator for editor segment groups

The new way is correct always.  The old way worked on gcc, but failed
for VC2010.
Merge branch 'github/master'

Conflicts:
	main/text.cpp