Improved RangedNumberGenerator robustness for heterogeneous requests

In scenarios with multiple heterogeneous RangedNumberRequests,

 1. a request can be of type System.Byte
 2. the next request can be of a type with maximum value greater than System.Byte.MaxValue
 3. and then, the next request can be (again) of type System.Byte – *then* the RangedNumberGenerator state *could* be greater than System.Byte.MaxValue and a System.OverflowException was thrown, as reported in #295.
FTR, the [provided repro](https://gist.github.com/dannymyers/7addf11a9df27544a0d6) works without throwing any exception using the code in this pull request *and* the following modification:

```diff
$ git diff
diff --git a/Src/AutoFixture/RangedNumberGenerator.cs b/Src/AutoFixture/RangedNuindex 
100644
--- a/Src/AutoFixture/RangedNumberGenerator.cs
+++ b/Src/AutoFixture/RangedNumberGenerator.cs
@@ -146,7 +146,7 @@ namespace Ploeh.AutoFixture
             switch (Type.GetTypeCode(a.GetType()))
             {
                 case TypeCode.Int16:
-                    return (short)a + (short)b;
+                    return (short)((short)a + (short)b);

                 case TypeCode.Int32:
                     return (int)a + (int)b;
```