Git exception

Added a GitException class to avoid dependency of spark in git library. We should catch the GItExceptions in the SCM layer and wrap them with SparkExceptions.

@devoncarew