Lowercase page title on /teams index page

For consistency with other pages have recently made the switch to this
style.

Change-Id: I5a7b7a686c085df1f593eac0af186526cc3b1c6c
Reviewed-on: https://gerrit.causes.com/26071
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Extract routing helpers into separate module

There is now enough of these to warrant moving them out of the main app
file; things were starting to get cluttered.

Change-Id: I76e30b61397e66689e3774fd8a1bf7137d3c6d16
Reviewed-on: https://gerrit.causes.com/26072
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Move Twigg::App::* files into app subdirectory

This is for consistency and conventionality; the namespace in the code
should be reflected in the directory hierarchy.

Change-Id: Ie17773956618e3f86f4e40a8b8abeca1aef29f17
Reviewed-on: https://gerrit.causes.com/26073
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Apply minor DRY-up in the routes helpers

Change-Id: Ia447c480746170ed18582d6ea9fd878ef2252f21
Reviewed-on: https://gerrit.causes.com/26074
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Move pair-related logic out of controller and CommitSet

This commit creates a new class, PairMatrix, that encapsulates the logic
around deriving pairing information from a commit set.

There is still some logic in the pairs/index view, but it is almost
entirely presentational (eg. choosing colors for cells).

Change-Id: Id690a136a001f408204768115dcd5554b5a8b9a8
Reviewed-on: https://gerrit.causes.com/26075
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>