refine connection
refine Connection; fix some socket error situation
temp commit
watcher works now
code clean
Finished feature watcher.
remove controller in Connection, make Connection independent; fix some channel bugs
setblocking(0) in Connection __init__
remove conn/transmission ids limitation
fix misspelled word
add optional timeout argument in channel.connect
add client side ignore heartbeat option
Merge pull request #7 from Catstyle/feature/independent_connection

Feature/independent connection
add agent.close; refine Connection
use ares dns resolver under linux platform
refine proto and related logic
change Connection.setsockopt to Connection._setsockopt
just send EOF if client side connection closed normally
fix ignore_heartbeat option; refine recv_loop
add recv_loop comment