bugfix: various bugfixed on opencl_numeric.h

1. NULL handling on pgfn_numeric_add
2. overflow of exponential value on pgfn_numeric_add
3. incorrect overflow detection on pgfn_numeric_add
4. NULL handling on pgfn_numeric_mul
5. Add 0-division check on pgfn_numeric_mul
6. remove incorrect underflow check logic from pgfn_numeric_mul
7. add overflow check on pgfn_numeric_mul
8. fix overflow checks on numeric_cmp