This commit implements a locking mechanism. It operates on the file located at <sessionDir>/lock. When a session is loaded or first saved, the lock file is opened (created if it does not yet exist), then lockf is used to lock the file. If the lock cannot be grabbed, kazv will refuse to load the session from the store file.
We do not use locking on the store file itself, because in the future for each save the store file's inode might change (i.e. moved from another file). In this case the lock, which is on the old file, cannot guard against operations on the new file with the same name.
Type: add