Add git integration to server
Adds git integration as in #71.
Let me know if I should squash all relevant commits into a single one.
The branch also contains some early commits of minor fixes I picked up along the way in my first few days exploring the codebase. Let me know if I should move them to a separate MR or remove them altogether.