ignore blog directories that aren't YYYY/MM/DD

This allows me to put a /drafts folder at least and not have it picked
up by the blog app. In the future, we'll make a way to manage the
drafts, but for now let's allow any directory that doesn't look like
what we want it to be.

We may in the future support just YYYY/MM, but we will probably never
support just YYYY.
add feed pages

Feed pages wrap a list page to provide another view of the page. This
allows us to keep track of the list page's URL in case it changes, so
that the feed page can link the user to the right location.
cache page objects so we can modify them

This is explicitly for spooky action at a distance to fix the following
problem:

* Blog app creates an index page and a feed page for that index
* Site takes the index page and creates a new page with the same
  information but a new URL
* Feed page no longer knows where the index page is

Instead, the app gives us the same Page object whenever we ask, so we
can modify it to make it our site index.
add site method to get a full URL for feeds

Feeds require a full http://example.com/path/to/page.html, so we need to
know where the site will be deployed.
put self and app in all pages

We're going to use these in the layout, so they must be in every page
exactly as $self and $app.
add generic page links hashref

This is similar to the document links hashref (in fact, we might combine
them into one to make things easier).

This will let us add feed links and other <HEAD> links.
add RSS and Atom feeds to blog index and tag pages

The current feeds pass the [Feed Validator](http://feedvalidator.org),
but there could be some better descriptions and future enhancements
later.

Since feeds need to be linked by the pages they syndicate, they must be
created as part of the same routine.

Fixes #11
add feed titles and links to feeds in the page

Also remove the <nav> around the Tags, because apparently <nav> is
supposed to be use for "major navigation", whatever that means...
release v0.013