[SYCL][Graph] Skip Graph tests based on sycl-ls output (#12812)
The graph extension tests are currently skipped during execution for
devices which don't support the graphs extension. However, this early
return causes the tests to be reported as passed and makes it hard from
looking at the results to know if the tests actually stressed the graphs
code or not.
Improved this situation by changing the SYCL-Graph device info query to
an aspect such that `sycl-ls --verbose` will output `ext_oneapi_graph`
for supported devices. This can then be used to inform the LIT config
and set a requirement for tests, enabling the tests to be obviously
skipped for devices that don't support graphs.
To enable setting this requirement in `lit.local.cfg` files some extra
directories have been created, in particular `UnsupportedDevice` which
contains tests that don't have a requirement as the tests verify
expected errors are thrown when using the graphs API with unsupported
devices.
The removal of the device info query means that we can no longer report
if a device emulates support for SYCL-Graph, however we currently have
no such implementations as they haven't yet deemed to provide enough
value. This is technically an ABI breaking change however due to the
removal of symbols, but SYCL-Graph is currently an experimental
extension so such changes may be permitted.