Extracting the cause from a JGitInternalException to handle certain error cases in the application using jgit feels odd. I think we should instead alter LsRemoteCommand to wrap those exceptions clients might want to handle as appropriate subclasses of GitAPIException similar to what FetchCommand does.

I'll propose another change for LsRemoteCommand  soon to implement this and also update this change accordingly.