Add support for GitLab as a hosting service.

This adds support for the GitLab code hosting service. This is an open
source alternative to GitHub that supports Git repositories, issue
tracking, and more.

GitLab support takes advantage of plans. There are only two: "personal"
and "group".

The GitLab API, while mostly straight-forward, has some quirks. One of
those quirks essentially prevents us from supporting more than 100
repositories in an install (as lookups will fail). This hopefully won't
impact most people.