Validates, selects, and publishes JSON Web Key Sets.
Private key parameters are rejected at verification boundaries and stripped when producing a public JWKS document.
@type t() :: %TamaOAuth.JWKS.Set{keys: %{required(String.t()) => map()}}
@spec fetch(String.t(), String.t(), keyword()) :: {:ok, t()} | {:error, atom()}
@spec public_document([term()]) :: {:ok, map()} | {:error, atom()}
@spec select(t() | map(), String.t(), String.t(), keyword()) :: {:ok, map()} | {:error, atom()}
@spec validate( map(), keyword() ) :: {:ok, t()} | {:error, atom()}