Protocol-generic Viewstamped Replication runtime.
@spec command(term(), term(), keyword()) :: {:ok, term()} | {:error, term()}
@spec primary(term(), term()) :: {:ok, term()} | {:error, :not_found}
@spec snapshot(term(), term()) :: :ok | {:error, term()}
@spec start_replica(keyword()) :: {:ok, pid()} | {:error, term()}
@spec status(term(), term()) :: {:ok, map()} | {:error, :not_found}
@spec stop_replica(term(), term()) :: :ok | {:error, :not_found}