Reworked the protocol of the file lock:
1. The timeout is only applied for reading the state region.
2. Pinging the owner thread is lenient.
3. Truncation of info region now exclusively locks the info region. If locking unsuccessful, the info region is not truncated.

Open questions:
1. markClean() and markDirty() method manipulate the state region without holding the exclusive lock.

Please review!