Switch password generation to SystemRandom

Quote http://docs.python.org/2/library/random.html#module-random:

> The Mersenne Twister is one of the most extensively tested random number generators in existence. However, being completely deterministic, it is not suitable for all purposes, and is completely unsuitable for cryptographic purposes.

`random.SystemRandom()` uses `os.urandom()` instead, so is better for this purpose.