Issue #3620020: Add drush myrest:scan, and the report it prints
The map is what a person reads before trusting anything generated from it, and on a deployment where nobody opens an administration page it has to be readable from a shell.
The command writes the model as YAML, to standard output or to a file, in the order the map already sorts, so two scans of one site are identical and two scans of a changed one diff cleanly. It narrows to an entity type or to a bundle, named either as "article" or as "node.article": the whole model of the site this is developed against is about a megabyte. It prints one line per bundle - how many fields, how many carry settings that change the shape of a value, how many do not, how many are references. Asking for something the site does not have exits with 1 rather than with an empty answer, which is the difference a pipeline needs. Standard output carries either the map or the lines and never both, because the YAML is meant to be redirected.
Everything worth being sure of is in MyrestScanReport rather than in the command: drush is not required by this project, so a build without it - which is how the pipeline builds this code - must still be able to check the narrowing and the counts. The command is a shell around it and is left out of the static analysis the way the OpenAPI generators are, for the same reason: a parent class that cannot be resolved is not an error that can be ignored.
Closes #3620020