Changed abstract class CheckoutCommand to an interface

Looks required in order to be proxyfied in git-plugin

org.jenkinsci.plugins.gitclient.CheckoutCommand is not an interface
	at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:496)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:722)
	at org.jenkinsci.plugins.gitclient.RemoteGitImpl.command(RemoteGitImpl.java:112)
	at org.jenkinsci.plugins.gitclient.RemoteGitImpl.checkout(RemoteGitImpl.java:278)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:889)