Configure dto generation
Convert branch to dto
Define repository host dto
Implement github repository host
Use vcs and repository host abstractions
Remove git agent
Merge remote-tracking branch 'origin/vcs-abstract'