Moved FF-specific logic to StoryOverviewFF

In the course of this, all attributes became world-writeable. It should be understood that this should only be done by subclasses, though. Some attributes still have to move to StoryOverviewFF, and some (characters) reformatted to work with the more expansive systems that AO3 uses.
Characters is now an array.

This required updates to the renderer, and it turned out there was a bug in the template mechanism, too, and of course tests were added to verify it all.
Moved FF-specific chapter parsing to its own subclass.

This should be the second-to-last step required before adding support for AO3. Now only the optional attributes remain…