Fix Python 3 inconsistency handling -ve numbers for unsigned C types.

An OverFlow error is now consistently thrown instead of a TypeError.

Fixes primitive_types testcase for Python 3