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 SConscript and CMakeLists.

Also adds the boost::random depenency to SConstruct. I mark the
required version at 1.43.0, since from the boost changelog, that's
the last time that the random library was updated, and inclued the
change:

"Put the implementation of random_device in a compiled lib, and
added Windows support."

I imagine we might want to use that in a revision of this.

I also am forced to add an implementation of the "discard" rng
function, which seems be available on my machine but not in the
travis build environment.
switch over gamestatus and sync code to use mt_rng

In place where previously simple_rng was being used.
add boost rng to server for seeding mp games

TODO: It looks like this will still cast all uint32's from the rng
to ints before sending them to the clients.