add a global timeout that can be set for connections and move timeout mgmt to zeromq as it has facilities to handle timeout