Fix more bugs... connect deferred errback

Also we stop using protocol.ClientFactory and
use protocol.Factory instead.