BUG: sql_schema does not generate dialect-specific DDL
Closes #8697 .

sqlalchemy `CreateTable` needs to be called slightly differently to create dialect-specific SQL.  See http://stackoverflow.com/questions/2128717/sqlalchemy-printing-raw-sql-from-create .

@artemyk Thanks! This seems indeed the fix.

I wanted to comment that we should maybe explicitely test for a certain dialect that a dialect-specific name is used (eg for postgresql that it used `timestamp without time zone` instead of `datetime`) to be sure it is dialect specific. But I was thinking now: does your test already cover that because the dialect-agnostic "create table" statement would fail to execute on the different dialects?
 @jorisvandenbossche  Yes, the `CREATE TABLE` is executed under the different dialects in the tests, and then we test that the created table is the same as the dataframe.  I think this is the best way to check that the right schema is getting generated (as opposed to checking for specific strings, for example).  Before this patch, for example, postgres fails the test.
Added a release note and squashed.
 Thanks a lot!
