refactor: migrate git_service to TypeScript
This MR migrates three files to TypeScript and sets up
.eslintrc.json to compile and static check the TS code.
The diff count looks large, but without
package-lock.json it is only
+171 -116 change. All significant changes are described directly on the diff.
- test: cover git service with tests
- refactor: move methods in GitService class and log git errors
- Prepare GitService related code for TS migration
Closes #219 (closed)