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.
I added a similar check for System.Int16 as well and applied the change described [here](https://github.com/AutoFixture/AutoFixture/pull/296#discussion_r13901374) because otherwise when adding two 16-bit signed integer types the result was a 32-bit signed integer.

The [provided repro](https://gist.github.com/dannymyers/7addf11a9df27544a0d6) now works without throwing any exception. The *build-release.sh* file succeeds.

I am not happy with the current implementation. I think, we can keep it though, until we come up with a better, more robust, algorithm.