[#12018] Added commit tags, author and committer retrieval and made GitPump as an abstract class
- Added commit tags retrieval
- Added tag messages retrieval (different for lightweight and annotated tags)
- Added commit author and committer retrieval
- Added comments
- Refactoring
- Made GitPump as an abstract class so we can inherit it in specific Git provider pumps (e.g. GitLabPump)
- Created simple GitLabPump