Move Atom feed generation to lib

This commit is part of my plan to clean up the preprocess block. I
particularly like the trick where the article list can be passed into
the item as an attribute. That'll come in handy later.
Move year/month/day index generation to lib

Another step of the preprocess clean up. This commit moves the logic for
year/month/day indices into lib, and cleans it up a lot.

The trick used in the previous commit (where a list is passed into a
partial layout via an item attribute) is also used here, to avoid re-
computing the list of articles in a given year/month/day. This probably
saves time compared to repeatedly select-ing on the articles array, but
I haven't done the benchmarks.
Use Date.strftime for year/month/day indices

This commit improves the generation of item identifiers and titles for
the year/month/day indices. Instead of hacking them by hand, we can use
Date.strftime, so that the formats are easier to change going forward.

Formats for the titles of year and month indices have been added to
nanoc.yaml to accompany this change.
Clean up Ruby code

Shortening lines that are too long, trimming comments, etc.
Prepare for move to rouge

This commit restores the Pygments syntax.css (deleted in bd401a6b) and
updates stuff for Rouge support.

Working with CodeRay CSS was really annoying, so Rouge's support for
Pygments CSS is quite appealing. Plus, judging by "most recent public
commit", Rouge is more regularly maintained than CodeRay.

We're just waiting for nanoc support. I was going to write my own
colorize_syntax filter for Rouge, but there already is one in nanoc
master. It just hasn't been released yet. When it is, I'll come back to
this change.
Rename Pygments CSS

Seeing as we have two syntax highlighters living under the same roof,
it's a bit vague for the Pygments CSS to be called "syntax.css".

I didn't want to rename it in the previous commit, because then the
history of the file might have been disconnected. This way, we should
be able to track the history of this file with git log --follow.

I've included both CSS files in the header. I have tested (sparingly)
and they don't seem to interfere with each other.