Render posts poorly

Copied a great deal of markup from my main site
Sort requirements in bloge.cabal alphabetically
Revert to the official parseISO8601

Yay my pull request got merged :~)
Render post bodies' markdown

Note that the markdown is converted to an internal HTML structure, then
to text, then back to a different internal HTML structure. There is room
for some optimization here.

It is sort of a pain to give raw HTML to an interpreted Splice.
TextNodes are escaped, 100%, no exceptions.
Store HTML, rather than raw text, on Documents

This avoids a serialize-to-Text-and-then-deserialize step.
Much nicer-looking display of posts
Display all posts on the root path
Display dates in the user's locale if possible

Users with JS disabled'll get ISO8601/UTC, which isn't great but isn't
terrible either.
Port all my posts from the old blog

Also made sure posts show up in the right order on the index.
Look up posts by tag

Had to clean up some posts that weren't parsing quite right.
Add an RSS feed

Heist has a built-in deprecated splice called "content", which
conflicts with the "content" tag in atom. Fortunately, it's not hard to
build a splice that wraps text in a tag.