stories vs pages can’t be fixed everywhere, especially story.tmpl — I tried before, but some things had to stay the way they are. The name page could also refer to all .html files.
Extra nesting level requires template support; you can also add a third option for classes and make headers (bs3 can do this IIRC) Doing this upstream might be tricky for backwards compatibility (we’d need to extend NAVIGATION_LINKS with one more option everywhere, and ALL old configs would crash, unless we fix things for them)
The type thing can be done yourself in the template, as [Tritium] said — a lot of things can be done with templates on your own!
Configuration as (any sort of) code makes anything “smart” really hard. A general “you have outdated things” warning is unnecessary IMO — if you don’t notice the others, you definitely won’t notice the general one (and would involve a lot of copy-pasting)
Users who care about new options should read the changelog — we do our best to document everything there. This is doable, but requires some special parsing of conf.py.in or even a specialized database, and cannot be done on every Nikola run (performance).
Replacing .. type: with .. template: would mean copy-pasting templates, which means you won’t get changes we make upstream. We don’t think we’ll mess with type though — it’s not really useful right now anyway.