Sync for validator/cpp/engine (#30994)
Sync for validator/cpp/engine (#30994)

* Remove the file extension for script tags in spec_names/messages (`.js`)

This is part 1 of 2.

With the introduction of module/nomodule the file extension for scripts may
be either `.js` or `.mjs` and not always `.js`. This change will allow for the
simplification of handling `also_requires_tag` and `also_requires_tag_warning`.
The latter is used by `amp-ad` and `amp-video`.

The purpose is to allow a single `also_requires_tag_warning` to cover all
variations of script types (regular, module, nomodule, module SXG) with a
single expression (`amp-ad extension script`). The engine will see this and
apply it to any extension script type. That change will come in part 2.

This changes:

`amp-extname extension .js script` to `amp-extname extension script`
`amphtml engine v0.js script` to `amphtml engine script`

PiperOrigin-RevId: 339147096

* Alternative tagspecs may meet also_requires_tag_warning requirements

This is part 2 of 2. Part 1 is cl/339147096.

The purpose is to allow a single `also_requires_tag_warning` to cover all
variations of script types (regular, module, nomodule, module SXG) with a
single expression (e.g. `amp-ad extension script`). The engine will see
`extension script` and apply it to any extension script type with the same
extension spec name.

PiperOrigin-RevId: 339898343

Co-authored-by: honeybadgerdontcare <63085ba608efd967a3367a0e366a2664a45e032b@google.com>
jridgewell/amphtml,smartadserver/amphtml,ampproject/amphtml,mhc-gh/amphtml,nexxtv/amphtml,rsimha-amp/amphtml,rsimha-amp/amphtml,Gregable/amphtml,rsimha-amp/amphtml,ampproject/amphtml,prateekbh/amphtml,honeybadgerdontcare/amphtml,sharethrough/amphtml,ampproject/amphtml,nexxtv/amphtml,voyagegroup/amphtml,mhc-gh/amphtml,lannka/amphtml,danielrozenberg/amphtml,jridgewell/amphtml,media-net/amphtml,smartadserver/amphtml,honeybadgerdontcare/amphtml,honeybadgerdontcare/amphtml,zhouyx/amphtml,prateekbh/amphtml,jmadler/amphtml,jpettitt/amphtml,media-net/amphtml,lannka/amphtml,ampproject/amphtml,mhc-gh/amphtml,jridgewell/amphtml,rsimha-amp/amphtml,smartadserver/amphtml,lannka/amphtml,sharethrough/amphtml,jpettitt/amphtml,sharethrough/amphtml,jpettitt/amphtml,honeybadgerdontcare/amphtml,Gregable/amphtml,alanorozco/amphtml,alanorozco/amphtml,zhouyx/amphtml,honeybadgerdontcare/amphtml,jpettitt/amphtml,danielrozenberg/amphtml,nexxtv/amphtml,jridgewell/amphtml,danielrozenberg/amphtml,media-net/amphtml,lannka/amphtml,mhc-gh/amphtml,prateekbh/amphtml,mhc-gh/amphtml,mhc-gh/amphtml,zhouyx/amphtml,zhouyx/amphtml,Gregable/amphtml,rsimha-amp/amphtml,lannka/amphtml,sharethrough/amphtml,nexxtv/amphtml,jmadler/amphtml,jridgewell/amphtml,jpettitt/amphtml,danielrozenberg/amphtml,alanorozco/amphtml,honeybadgerdontcare/amphtml,rsimha-amp/amphtml,jridgewell/amphtml,voyagegroup/amphtml,mhc-gh/amphtml,ampproject/amphtml,ampproject/amphtml,jridgewell/amphtml,media-net/amphtml,voyagegroup/amphtml,alanorozco/amphtml,lannka/amphtml,zhouyx/amphtml,media-net/amphtml,prateekbh/amphtml,jmadler/amphtml,prateekbh/amphtml,Gregable/amphtml,lannka/amphtml,ampproject/amphtml,jpettitt/amphtml,rsimha-amp/amphtml,Gregable/amphtml,alanorozco/amphtml,voyagegroup/amphtml,prateekbh/amphtml,nexxtv/amphtml,zhouyx/amphtml,smartadserver/amphtml,danielrozenberg/amphtml,alanorozco/amphtml,Gregable/amphtml,ampproject/amphtml,Gregable/amphtml,honeybadgerdontcare/amphtml,media-net/amphtml,Gregable/amphtml,danielrozenberg/amphtml,jmadler/amphtml,zhouyx/amphtml,smartadserver/amphtml,alanorozco/amphtml,nexxtv/amphtml,smartadserver/amphtml,voyagegroup/amphtml,jpettitt/amphtml,danielrozenberg/amphtml,jpettitt/amphtml,alanorozco/amphtml,media-net/amphtml,jmadler/amphtml,prateekbh/amphtml,mhc-gh/amphtml,sharethrough/amphtml,nexxtv/amphtml,sharethrough/amphtml,danielrozenberg/amphtml,jmadler/amphtml,voyagegroup/amphtml,voyagegroup/amphtml,media-net/amphtml