Add support for GitLab Draft/WIP MRs
Created by: eseliger
This contains the GitLab part of https://github.com/sourcegraph/sourcegraph/issues/7998.
- In the first commit, I implemented the events and state/history logic required to work for GitLab.
- In the second commit, I implemented the DraftChangesetSource on the GitLab client.
- In the third commit, some cleanup and fixes.
Tradeoff: There is no way to tell Update
events apart, marking as WIP and unmarking do only trigger update events in the webhooks (which is fine I think).