1. Support read state from statemachine with RaftLog-Read mode 2. support user define request processor in server and client 3. refactor the appending entry logic 4. refactor some code for better logical relationship