Change the function signature for cast_for_data_conversion()

Now accepts two data types and an operator.  Callers will have to get the
property's type before calling
cast_for_data_conversion() now takes an additional arg to specify what SQL clause it's working on

The Oracle version needs to know whether it's converting because of a 'join'
or 'where'.  Oracle 11 is less permissive of comparisons during joins than
Oracle 10 was, but handles comparisons in 'where' just fine.
Allow using 'like' to filter on a datelike column on Postgres