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. Currently I
don't tag a required version. I think this should actually be
1.43.0, but travis complained so I removed that. 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.
switch over gamestatus and sync code to use mt_rng

In place where previously simple_rng was being used.