Make the stable random a subclass of random.Random

This gets us all the utility functions - subclasses only need to provide
random(), setstate(), getstate() and seed().

Change-Id: Ib1a4c45d1907c5e2f5ff700ab0195f8413917e10