fix deadlock in lastSQLError

If `db.lastSqlError()` is called by the library itself (such as lines [#157](https://github.com/rschmukler/SQLiteDB/blob/master/SQLiteDB.swift#L157), [#166](https://github.com/rschmukler/SQLiteDB/blob/master/SQLiteDB.swift#L166), [#196](https://github.com/rschmukler/SQLiteDB/blob/master/SQLiteDB.swift#L196)) you can get a deadlock.

This fixes that by checking that if we are already on that queue, we just run.