[SYCL][Doc] Add OpDeviceRegistryVersionINTEL; Misc changes (#19883)
This PR adds `OpDeviceRegistryVersionINTEL` to specify which version of
the [device registry](https://github.com/intel/llvm/pull/18822) was used
when producing a module. This allows a consumer to correctly interpret
`OpSpecConstantArchitectureINTEL` and `OpSpecConstantTargetINTEL`
instructions without any knowledge about the producer. Currently, the
producer implemented in SPIRV-Tools adds an `OpModuleProcessed` note
with the version, but since the version carries a semantic information
(ie. determines the result of the
`OpSpecConstantArchitecture/TargetINTEL` instructions), I think it
should be a separate, non-debug, instruction.
Other changes:
* Rename the "targets registry" to "device registry" to disambiguate
from the "target" used in `OpSpecConstantTargetINTEL`.
* Allow annotating `OpExtInst` with `ConditionalINTEL` because it can be
in the types section outside a function in the case of non-semantic
instructions.
* Update to SPIRV spec. version 1.6 rev. 6 which changes the numbering.
* Misc wording and cosmetic changes.
To be merged after https://github.com/intel/llvm/pull/19782