Fix Subtraction Undetected Overflow

In the case where the smallest possible signed integer was subtracted from zero, the resulting overflow was not detected.  This overflow occurs due to the asymmetric positive and negative spaces of two's complement signed integers.

Consider the following given 8-bit signed integers:

0--128

The mathematical answer is 128, since 0--128=0+128=128, however 128 cannot be represented as a signed 8-bit two's complement integer.

Added a test for this case.