mt_rng extends the boost uniform rng concept
random_new and derived now impl boost uniform rng concept

This means they can be used as arguments to boost distributions,
without messing up the random_calls count.

http://www.boost.org/doc/libs/1_55_0/doc/html/boost_random/reference.html#boost_random.reference.concepts.uniform_random_number_generator
use boost::uniform_smallint for attacks, traits, genders

Using a boost distribution ensures that random sampling will be done
accurately on all platforms with less room for error from us.