merlint: load tag vocabulary from categories.toml; expand E523 dune coverage
Adds a Categories module that reads slugs from categories.toml at the
project root, and switches E915 to use it (falling back to the topics:
list in .merlint when the file is absent). Expands E523 to handle more
dune stanzas: (libraries (select ...)), (generate_sites_module ...),
(copy_files ...), (include_subdirs unqualified|qualified). Tightens
classify_modules so sublists are treated as Standard. Refreshes docs
and the generated index.html.