ENH: add support for datetime.date/time in to_sql (GH6932)
Closes #6932

Support for writing `datetime.date` and `datetime.time` object columns with `to_sql`.

Works nicely for the sqlalchemy mode, for sqlite fallback it writes OK for `datetime.date`, but comes back as object strings (this is also the case for datetime)

Remaining question:
- when reading the data back in `TIME` columns are converted back to `datetime.time`, but `DATE` columns are converted to `datetime64` and not `datetime.date`. Is this OK? Or better try to convert to `datetime.date`?
- `datetime.time` does not work with sqlite fallback for some reason (`datetime.date` does)

@danielballan @mangecoeur @artemyk any comments?
 @jorisvandenbossche Only thing is that this will probably need a manual merge with PR #8083 (which changes _get_column_names_and_types to return an array of tuples like `[(colname, coltype, is_index), ...]` , not just `[(colname, coltype), ...]` .  Or I can try to rebase PR #8083 off this.
 @artemyk you are correct, but we will just see which gets merged first, and then the other has to rebase. No need to do in advance.
 Looks good to me
