Don't attempt to parse IP/Date(Time) CFs if value is NULL

We pass NULL into the Date/IP parsing logic *before* we get to the check
which says "Oh, are you saying CF.{foo} IS NULL?  Then just left join to
OCFV and be done with it".  This causes warnings and errors in the logs
from trying to parse NULL as a Date or IP.  We did the right thing and
executed the LEFT JOIN anyway, but it caused a lot of noise.
Add tests for date and datetime IS NULL/IS NOT NULL
Merge branch '4.2/cf-is-null-warnings' into 4.2-trunk