Handle initial connection failure to make sure that the provided tube is used and watched properly despite the initial connection failing. Handle reconnect scenarios where the first reconnect attempt fails to make sure the use and watch states are correctly restored for all tubes. When performing the reconnect, make sure that the use, watch, and ignore commands get on the callback queue prior to the reserve command when each_job is being used. When in fiberized mode, make sure to register an errback on the deferrable so that the fiber can be resumed when an error occurs. Also make sure to not invoke the each_job callback in this case since there is no job to pass back to the caller.