Refactor Rand::rand_reg*() methods into a single Rand::update_register() method. Fixed warning about comparison between signed and unsigned values; Rand::randn() now actually returns its value
New unit tests for Rand::randn() method to ensure it's returning values