node.go: Add TitleNode

Move title information out of SectionNode and add TitleNode as a field to
SectionNode. This cleans things up nicely. It was much easier to make this
change than I had expected.