ParseData will takes in a *gin.Context c and parses webhook data into a Data struct.
This function returns an error if something goes wrong and nil if it completes successfully.
ParseHeaders parses the headers and returns a string containing the VCS tool that is making the request.
If an unsupported VCS tool makes a request, then an error is returned.