[WIP] Enhancement: Added GitHub Repository Service

Added GithubService and moved controller methods to service
What is the advantage of catching the exception here compared to catching it one lever higher? (not a rhetorical question)