refactor site_structure so it allows arbitrarily-deep menus

and update html menus to use it, including showing current submenu.
no more need for 'navgroup' or 'id' either, as the page knows where
it is in the menu hierarchy.

(but that will need updating for non-menu pages!)
sample new guide pages - for review only