rewrite writer's logic

add identify()
seng nop when receive _heartbeat_
remove isalive/isconnected
manage writer's error via errirstat
add writetimeout
package command in w.Write(), pass command instead