SF #1027105:  HardwareRandom should be renamed OSRandom

Renamed the new generator at Trevor's recommendation.
The name HardwareRandom suggested a bit more than it
delivered (no radioactive decay detectors or such).
diff --git a/Lib/random.py b/Lib/random.py
index 46a1b1f..f355eac 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -52,7 +52,7 @@
            "expovariate","vonmisesvariate","gammavariate",
            "gauss","betavariate","paretovariate","weibullvariate",
            "getstate","setstate","jumpahead", "WichmannHill", "getrandbits",
-           "HardwareRandom"]
+           "SystemRandom"]
 
 NV_MAGICCONST = 4 * _exp(-0.5)/_sqrt(2.0)
 TWOPI = 2.0*_pi
@@ -99,8 +99,8 @@
     def seed(self, a=None):
         """Initialize internal state from hashable object.
 
-        None or no argument seeds from current time or from a hardware
-        randomness source if available.
+        None or no argument seeds from current time or from an operating
+        system specific randomness source if available.
 
         If a is not None or an int or long, hash(a) is used instead.
         """
@@ -603,8 +603,8 @@
     def seed(self, a=None):
         """Initialize internal state from hashable object.
 
-        None or no argument seeds from current time or from a hardware
-        randomness source if available.
+        None or no argument seeds from current time or from an operating
+        system specific randomness source if available.
 
         If a is not None or an int or long, hash(a) is used instead.
 
@@ -744,10 +744,12 @@
         z = (z + a) % 256 or 1
         self.__whseed(x, y, z)
 
-## -------------------- Hardware Random Source  -------------------
+## --------------- Operating System Random Source  ------------------
 
-class HardwareRandom(Random):
-    """Alternate random number generator using hardware sources.
+class SystemRandom(Random):
+    """Alternate random number generator using sources provided
+    by the operating system (such as /dev/urandom on Unix or
+    CryptGenRandom on Windows).
 
      Not available on all systems (see os.urandom() for details).
     """
@@ -767,13 +769,13 @@
         return x >> (bytes * 8 - k)             # trim excess bits
 
     def _stub(self, *args, **kwds):
-        "Stub method.  Not used for a hardware random number generator."
+        "Stub method.  Not used for a system random number generator."
         return None
     seed = jumpahead = _stub
 
     def _notimplemented(self, *args, **kwds):
-        "Method should not be called for a hardware random number generator."
-        raise NotImplementedError('Hardware entropy source does not have state.')
+        "Method should not be called for a system random number generator."
+        raise NotImplementedError('System entropy source does not have state.')
     getstate = setstate = _notimplemented
 
 ## -------------------- test program --------------------