Refactor ChatOps to use dangling builds / separate context
Description
In https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22563 (still WIP) we plan to introduce CI/CD Contexts and implement Dangling Builds, that instead to be attached to a pipeline, are attached to a separate context, that share a common interface with the Ci::Pipeline
class.
This way it is possible to store much more information in a context, context can be stagged (or not), and a build can be polymorphically associated with many different context (ChatOps context / WebIDE context / anything else).
Once https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22563 is merged, we can refactor chatops implementation in EE, that should make it much more simple.
Edited by Grzegorz Bizon