make the default templates more semantic

<main> should encapsulate the main content of the page. <article> should
fully encapsulate the given article when there are more than one.
add last_modified to documents

The last_modified field is a Time::Piece object serialized into
'YYYY-MM-DD HH:MM:SS'.

The _freeze_document and _thaw_document methods will probably need to be
improved to be more robust and DWIMmy.
add last_modified and tags to default blog post

The "blog post" now includes tags and last_modified.
add published date to pages

Adding each attribute explicitly to the render() sub is annoying, but if
they're lazy, they have to be generated... Something has to be done...
add the published date to the blog pages

Fixes #25