Fix generate-info so runs on Windows

This makes 2 changes, based on comments in #2100:
- if this is Windows use `jsdoc.cmd` instead of `jsdoc`
- if there is no `build/info.json` don't walk the ol srcdir and pass the whole file list to jsdoc, but simply pass the srcdir to jsdoc so that it walks through the directory itself. This means the command line will be short, and won't break Windows. Once the initial file is created, the number of changed files in any subsequent run will be small and should not break Windows command-line length limits. And if it does, then simply delete info.json and run again.

Note that this produces a file of identical length to the existing script, but jsdoc walks the subdirs in a different sequence, so the file will not be identical.

A small snag with testing this is that I don't have a Windows machine to hand. Can a Windows user please test that this works.
if there's no info.json, date is set to 0; if that's the case, then use the directory name instead of all 330 (or whatever it is) file names, which makes the cmd line too long on Windows