3.0 Make Integer, Float and Date/Time types handle '' better

As discussed in #4059 and #4058, integer, float, date, time, datetime types should convert '' into `null` instead of `''` or `0`.