Removed a C-style cast.
Magic number reduction
Silence some expected formula warnings
Fix some error messages
Add WML unit tests to travis
Fix [store_unit]kill=yes (bug #22007)
next_hop(): bug fix for ignoring units when ignore_units=true is set

A bug in the previous version let to them not being ignored when  the
were on the last hex of the next hop.
Tutorial: add Delfador animation to summon extra quintains
Fix bug #21448: make premoved units selection like in Wesnoth 1.10
Add missing newlines at EOF
Fix Doxygen comment.
Avoid a useless cast.
Remove an unneeded semicolon.
add wrapper for boost::mt19937 mersenne twister rng

The class mt_rng is a wrapper which provides a similar interface to
this boost rng class as we had to the linear congruential rng
implemented in simple_rng. This commit creates mt_rng.hpp and
mt_rng.cpp and adds them to scons and cmake.

This commit also adds the boost::random depenency to scons & cmake.
I mark the required version at 1.43.0.

Also, add preprocessor flags for no boost::random_device. But
leave checks unimplemented for now.

If we don't have boost::random_device available on target
platform, then leaving the flag undefined will cause us
to use the ctime system time to get seeds.
switch over gamestatus and sync code to use mt_rng

In places where previously simple_rng was being used.
This may require fixup, as we are casting uint32's from
the rng to ints.
add mt_rng to server for seeding mp games

The server holds an mt_rng for every game, which it uses to
generate random seeds which are sent to the clients. This way
there is only one code path to boost::mt19937 and
boost::random_device.

TODO: It looks like this will still cast all uint32's from the rng
to ints before sending them to the clients, unclear if that causes
problems.
never cast random results from uint32_t to int

throughout the random wrappers and the code that uses them, make
sure to replace int's with uint32_t's.

it would be better to use boost distribution objections perhaps,
than modding rng results as we currently do.
store random_seed in cfg by lexical cast uint32_t <-> std::string

This commit changes the way seed info is handled by the server,
clients, and cfgs, to prevent silent conversion between int
types. In this version there is the drawback that rng construction,
and therefore game_state construction (!) can now throw a bad
lexical cast. This commit should be amended in the future to deal
with this appropriately.
use boost lexical cast in mt_rng ctor

Experiment to replace our lexical cast with boost.
(This eventually gets replaced.)
add seed_rng namespace and files

In order to separate the "seed source" objects from the actual
PRG objects, this adds a new file and name space "seed_rng" which
can be used by rng's which are constructed without a seed.

The implementation has preprocessor guards, and should be either
boost::random_device or just the system time if that is
unavailable.

Since it goes on server as well this file also needs to be in
wesnoth-core.