ENH: SQL support for writing NaN + datetime64 values (GH2754, GH7103)

Cast values to object dtype converts to native python types.
For datetime64 columns these are converted to datetime.datetime
which also fixes the datetime64 issue (supercedes PR GH8205).
NaN issue is solved by converting all NaN values to None.
ENH: refactor to_sql insert_data - performance improvement (GH8208)
Merge pull request #8208 from jorisvandenbossche/sql-2754-nan

ENH: sql support for writing NaN + datetime64 values (GH2754, GH7103)