should check of 'git' executable exists

Or a weird file not found error...will occur from subprocess. It is perfectly possible that .git directory may exist without the user running setup.py having 'git' installed.