Ignore boxed value type checking for NSNumber.

Since NSNumber’s internal objCType can be different than the given type upon construction, there’s no point in checking those types.

An example for where the previous check fails, is for creating an `NSNumber` from an `unsigned int`, which is internally represented as an `int`, `long` or `long long` (depending on the architecture and the size of the given value). 

Therefore, `NSNumber` type checking should be avoided.