fixup some numeric bugs
- replace 1ULL by 1UL (intel runtime didn't raise warning)
- some refactoring of float_to_numeric()
- didn't set error code correctly on overflow
- code integration on float4/8 -> numeric translation
- translation accuracy according to the core implementation