Add support for routing all storage operations through raft.

The tests pass with this change most of the time but there are some
timing issues around the initial election and tests using IsTrueWithin,
so everything still uses noopRaft until that can be fixed.

@spencerkimball @cockroachdb/developers 
It's to placate the race detector. It reported a race between this and Stop(), which sets s.raft to nil. I'm not sure whether the race is when we call Stop() from Start() or when we're actually shutting down. I'll remove the if and just let it panic if we do manage to have a proposal while stopping.