Fix TOC URLs to be more permanent

Unfortunately, Jekyll's built-in header-id generation isn't very semantic; the ids end up looking like `toc-20`. This adds more meaningful and permanent IDs for the headers.

Oh, and I wrote a section on revwalk, too.