Fix Issue 11960 - Phobos Mersenne Random Engine not supporting unsigned longs

https://d.puremagic.com/issues/show_bug.cgi?id=11960

The "root" issue was the way `max` was being calculated. It's a 1 line change. That's it. There where 2 ways to fix. I chose the one without a conditional statement.

The rest is just trivial and stylistic changes. If there is any individual pull you don't like, just tell me, and I'll remove it. I wouldn't want them to block the fix in any way.