Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called.

FossilOrigin-Name: 6504aa47a8ebb13827be017c4cb4b2dc3c4c55f4
diff --git a/src/main.c b/src/main.c
index 8b7495d..9e83d49 100644
--- a/src/main.c
+++ b/src/main.c
@@ -800,6 +800,7 @@
       }
     }
   }
+  sqlite3VtabUnlockList(db);
   sqlite3BtreeLeaveAll(db);
 #else
   UNUSED_PARAMETER(db);