Implement Mersenne Twister with Unit tests

Unit tests compare results with those generated by the C++ STL
Mersenne Twister mt19937 implementation.