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)
ENH: TimedeltaIndex and Timedelta scalar support (GH3009)

BUG: coercion of timedeltas in assignment (GH8209)

COMPAT: provide conversion for passing in non-ns datetime64/timedelta64

BUG: diff on Dataframe with timedelta64 broken (GH4533)

ENH: support for alternate Timedelta format constructors in natural language (GH8190)

BUG: handle empty timedelta64[ns] Series with ops (GH7869)