file lock using semaphores, new tests.
Merge remote-tracking branch 'origin/master'

Conflicts:
	src/file_lock.c