allow PYTHON_CMD or GIT_CMD to be set from the environment

and use more elaborate command availability checks
fix typo in message "repsitory" -> "repository"