New logic for synchronization.

1. Add subdirectory for log and snapshot.
2. Change the logic of synchronization to what we discussed today.
3. Leader will not send COMMIT to the server who hasn't acked the
proposal.