Add null requester.

The null requester responds to #add_handlers, but ignores it.
Refactor ModuleSet spec.

This now uses FactoryGirl, and doesn't use let or subject.  Also fixed
some typos.  Woop woop!
Merge Subgroup and Set.

There aren't really enough differences to warrant separating these, and
future changes to the module set system will be made possible by doing
this.
Introduce the root module.

The model root is now owned by a module, which is basically just the
module set from before but with new jurisdiction over the model.  More
things may move from the launcher to the root module over time.
Unify root and module-set models.

This should make it easy to add things like module information to the
models.
Unify model building for root and sub-modules.

Both now use the ModelBuilder, woop woop.
Remove some unnecessary launcher code.

I feel as if the launcher will be going away eventually
Fix ModelBuilder#initialize comment.
Refactor app and launcher usage of root module.

The root module now carries the logger into the app, meaning there's no
need to provide the app with a service view.
Delay root module config evaluation.

This allows us to do more preparation of the root module before the
config is loaded, which should allow most of the writers on the root
module to be replaced with constructor arguments.
Pass the root model structure class to constructor.

We will get this code looking understandable, I promise!
Return server view from ModelBuilder.

This doesn't really do a fat load of good at the moment, but it'll
probably help clean things up later.
Merge pull request #42 from UniversityRadioYork/mw-module-helpers

Module-related changes