Improve validation of inter links

**Don't merge this before we fix #54.**

For `index.md` we want that if the title of `??-*.md` is `Foo Bar` than we use **only** `[Foo Bar](??-*.md)`. For `??-*.md` we don't want to force this rule.
In my understanding of the spec, we have a strong preference towards checking the text of links. It should not be disabled by default in most validators.

Some pages do not have a YAML *subtitle* header (`motivation.md`), or else the link text would not ordinarily be expected to match the YAML *subtitle*. Rather than add a lot of complicated special-casing and super calls, can we fix how `motivation.md` should look? 

Are there blocking issues that make this extra complexity preferable?