Improve supported protocols unit test by exposing supported protocols in headers
Currently, we hard-code a lot of supported protocols in the supported protocols unit test.
Instead, we should expose a list of supported protocols in each header, and check those. Or, we can expose a maximum supported protocol.
This allows us to write unit tests like the LinkAuth tests.