Move Twig modules and classes into separate files

For easy file-name-based navigation, put each module or class in its
own file.

Change-Id: Ic3e5c6d0b56973399f352b938f5bad6b2c88b000
Reviewed-on: https://gerrit.causes.com/24878
Reviewed-by: Greg Hurrell <greg@causes.com>
Tested-by: Greg Hurrell <greg@causes.com>
Wrap web app inside a binary

This is a step towards getting Twig ready to become a Rubygem. We move
the web.rb file into lib/twig/app.rb, and create a binary wrapper for
conveniently launching the app (`bin/twig-app`); note that the name
needs to somehow include "twig" to distinguish it from all the other
binaries that will be in the user's PATH. Later on we might decide to
make this a subcommand of `twig`, and `commit-stats` can become `twig
stats`, but we'll tackle that later.

Note that before this becomes a gem we'll have to resolve some of the
path issues, like our current assumption that the config file is
relative to the app file.

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