@type auth() :: %{user: binary(), password: binary()} | %{access_token: binary()} | %{jwt: binary()}
@type t() :: %Tentacat.Client{auth: auth() | nil, endpoint: binary()}
@spec new() :: t()
@spec new(binary()) :: t()
@spec new(map()) :: t()
@spec new(map(), binary()) :: t()
@spec new(auth(), binary()) :: t()