Start carving up RB Gateway into namespaces

Review Request #9767 — Created March 12, 2018 and submitted — Latest diff uploaded

Information

rb-gateway
master
153760f...

Reviewers

RB Gateway currently only has a single namespace that is getting very
polluted. Because of this, methods that should be private aren't, since
they are accessible within the declared namespace (package main).

This is the first of a series of patches to split this monolithic
package into sub-packages. This patch tackles the repositories
(née repository.go and git_repository.go) package, as well as adds a
helpers package which contains all the test setup code that is used
across package boundaries.

Ideally, this would only have involved the testing infrastructure
changes, but because of how go imports work, we cannot import
github.com/reviewboard/rb-gateway from .../rb-gateway/helpers to
access Repository et al. because rb-gateway is a binary and not a
library.

Ran unit tests.