DDL causes implicit commit

With a warning, as recently discussed.

I also ensured the below JDBC usage behaved as we desire (row 1 present, 2 is not) which, I think, should cover the recent hiccups:

```java
conn.setAutoCommit(false);
s.execute("DROP TABLE IF EXISTS t");
s.execute("CREATE TABLE t (id INT)");
s.execute("INSERT INTO t VALUES (1)");
s.execute("CREATE INDEX id ON t(id)");
s.execute("INSERT INTO t VALUES (2)");
conn.rollback();
```