Delete lock before callback

Closes #13

Resolves a condition where a callback triggers a new lock request for the same file, which hits a previous lock that should not exist at that point. Added tests for this condition as well.

/cc @yhahn