Refactor consensus and client
Add State.NewCopy()