TIDOC-1081 Add new platforms and remove duplicated code.

- Centralize list of platforms, platform names.
- Add "is_pseudotype" field to annotated objects to remove duplicated code in various generators.
- Make docgen fail fast if a generator script has a syntax error (i.e., exit before parsing YAML).
Merge pull request #4043 from arthurevans/tidoc-1081

TIDOC-1081 Add new platforms and remove duplicated code.