Show executing SQL statement in long-running query log message

Also fix typo ("progess" -> "progress").  Refactor unit test, and add unit test coverage for log message.
I tested this, and for AdHoc queries, we'll see the constants in the message.  For two AdHoc queries that are the same except for constants, run back-to-back, the correct constants will display in the log.

For stored procedures, we'll see ?s if there are parameters in the statement.  It's probably possible to also show the parameters the statement was invoked with, but that seems more like future work.