Added gitlab controller, route, spec

Almost the entire thing is identical to the github controller spec etc. Only
difference is that there is detection of create & delete operations. It isn't
based solely on the params provided in the webhook. Using this git convention
could allow you to DRY up the entire GitLab and GitHub controller job and
model of the payload. But in the interest of keeping things different for
the time being, I've duplicated some code.
Does this still need to be here?