Split out types into several separate files, for ease of maintenance.
Progress towards a LogTime model, where logs have a logical time that can be compared with one another.
Change Raft.State to Raft.Log, which is a better module name for its purpose and content.
renamed newLog -> mkLog