Git Publisher

This adds support for the Git Publisher.

```groovy
job {
    publishers {
        git {
            pushOnlyIfSuccess(boolean pushOnlyIfSuccess = true)
            pushMerge(boolean pushMerge = true)
            tag {
                targetRepo(String name)
                name(String name)
                message(String message)
                create(boolean create = true)
                update(boolean update = true)
            }
            branch {
                targetRepo(String name)
                name(String name)
            }
        }
    }
}
```