We allow the validator set to be empty in the genesis, because it can be set by the app in InitChain.
However, if both the genesis has empty validators and InitChain returns no validators, Tendermint still tries to startup, and then panics trying to get the proposer from an empty validator set.
Instead, if the validator set is still empty after InitChain, Tendermint should log a helpful error and exit.
We allow the validator set to be empty in the genesis, because it can be set by the app in InitChain.
However, if both the genesis has empty validators and InitChain returns no validators, Tendermint still tries to startup, and then panics trying to get the proposer from an empty validator set.
Instead, if the validator set is still empty after InitChain, Tendermint should log a helpful error and exit.