Delegates to Phoenix.PubSub when available, with no hard dependency.
If Phoenix.PubSub is not loaded, both broadcast/3 and subscribe/2
return {:error, {:phoenix_pubsub_not_available, Phoenix.PubSub}} rather than
raising.
Configure as {ExAgent.PubSub.Phoenix, MyApp.PubSub}, where the second
element is the PubSub server name registered in the host app.