Coverity has been complaining about using rand() as an insecure function. As we're using it, this function is not insecure; but is also not a very good RNG. We're using MT19937 in a system-independant manner. But some uses of rand() were never converted. This converts them.
This closes the following Coverity issues:
CID 1356297
CID 1356299
CID 1356303
CID 1356304
CID 1356306
CID 1356312
CID 1356314
CID 1380163
CID 1380173
CID 1380179
CID 1380191
CID 1380198
CID 1380201
CID 1380210
CID 1380214
CID 1380215
CID 1380219
CID 1380230
CID 1380241
First, VS2015 doesn't appear to support importing alias templates directly,
so let's make an alias template ourselves and import every alias we need.
That approach doesn't work with VS2013, apparently due to lack of support
for expression SFINAE. Thus, we now use our custom alias templates on
VS2013.
Also, I moved type_trait_aliases.hpp to the wesnothlib project where it
belongs.
Note that because of requiring expression SFINAE on VS2015, building
Wesnoth on VS2015 now requires that Update 1 or above is installed.