use SystemRandom

Sez [the docs](http://docs.python.org/2/library/random.html): "*Warning: The pseudo-random generators of this module should not be used for security purposes. Use os.urandom() or SystemRandom if you require a cryptographically secure pseudo-random number generator.*"

This PR replaces `random.random()` with the `random()` method of an instance of `random.SystemRandom`.  The new method is cryptographically secure and otherwise indistinguishable.