fix broken tests

Removing the unneeded imports from the tests revealed that the
classes were not importing the other classes they needed. There should
be some kind of module to scan for this...

read_file returns a list of lines in list context, which doesn't work
for eq_or_diff
throw a better error when the template is undef

Previously, it would throw Text::Template's usage message, which doesn't
quite explain what the problem is.
fix template not being stored with the right group

The "dirs" from splitpath ends with a /, so the last item from splitdir(
dirs ) is the empty string.
provide a single pages() method in applications

The pages() method returns all pages currently active in the
application.
add site class

The Site class encapsulates a set of applications and handles the
deploy process.

Configuring a Site can be easily done using a DI container like
Beam::Wire.