Fix lock directory removal

Several things were wrong, and were fixed:
* Lock directory removal wasn't happening under happy-path exit conditions
* Handler functions would fail because they didn't take two arguments

Additionally, the lock is considered invalid if it was created before the
current system boot date, and backups can continue as normal if that's the case.

We also make the lock removal function do a ghetto-check for the presence of the
lock before trying to remove it, since we want the lock removal function to be
idempotent and not depend on simple file names and the like.

This means that we need to fix the race condition that's always been present
with removing the lock! Checking the PID saved to the info file against the
current process' PID should be sufficient.