Clean up source-code version detection

Rewrite and avoid the regex that incorrectly used the /s switch; also simplify: we only need to support git nowadays.

(Also: I'm sure you're like me and o_O when you see a naked 'rescue', but in this case I think it's warranted: we don't want to propagate failure if the git command doesn't work.)

You can actually probably _only_ `rescue Errno::ENOENT`, unless there's some exception that would get raised here that I'm unaware of. If `git` returns a non-zero exit status, it should just return an empty string (which is the failure case here)