add error checking to template fill_in()
add additional template arguments to pages

This lets us add things after the Application gives us the Page
pull the render() call out of the store

This way, Store does not need to know about Page objects, just plain
strings. This also prevents us from having to pass the extra template
arguments to write_page(), which is just awkward...

They still need to know about Document objects though, but those are
proper data structures, not just a string of content.
add site title

Text::Template does not seem to like blessed objects, another reason why
it is not the right template system for this thing...

We also need to make sure to test that the correct content is present,
and not just compare pages against each other. If the template has an
error, testing page renders against each other will not reveal the
problem, since they'll still be equal.

Fixes #19
add missing layout template

Our gitignore was a bit over-zealous
refactor test to remove some duplication