pkg/transport: add timeout dailer and timeout listener

This pull request implements timeout dialer and timeout listener, which return timeout conn.
A timeout conn is a connection with read and write timeout for each operation.

We need to control the timeout at tcp level in our raft transport layer. 
why? i do not think we need to add that layer of abstraction for a small test struct.