Remove `git rev-parse` check for valid .git directory

Instead pass `—git-dir=.git` to all git commands to ensure that the
command will only affect the local directory.
Error if git executable is not available
Simplify .git directory check
Make cond a special form so it does not leak vars on head
Raise CondClauseError for cond clause mismatch
Update CHANGELOG
Fix changelog message typo