Add new extended error codes for I/O errors on seek and shared-memory map.
Add sqlite3_log() calls in the windows backend to record details of errors.

FossilOrigin-Name: fe603217fce8e3a696bd108d5ae7f7a291b7e215
diff --git a/src/os_unix.c b/src/os_unix.c
index 744d857..b70a9a6 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3915,7 +3915,7 @@
             MAP_SHARED, pShmNode->h, pShmNode->nRegion*szRegion
         );
         if( pMem==MAP_FAILED ){
-          rc = SQLITE_IOERR;
+          rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename);
           goto shmpage_out;
         }
       }else{