more info when a github fork fails

adds the original exception's message and info on the used repository to
the exception
improved exception messages for failing git commands

The exceptions in the log weren't really helpful for figuring out what
had happened when a git command failed. This brings the actual error
messages to the logs and also correctly captures STDERR and STDOUT
ignore stale locks

when an update aborts for some reason and the lockfile isn't reaped, the
whole process will hang forever. This patch makes the updater ignore a
lockfile that's older than 30 minutes
Merge pull request #66 from splitbrain/gitexceptions

Git Exceptions
implement PID based locking. closes #60

This avoids stale lock files completely. Even if the app crashes, the
remaining lockfile will be a symlink to a no longer existing process.
Merge pull request #68 from splitbrain/stalelocks

no more stale locks