Avoid race condition when adding new host

If the futures completed before the original loop did,
we would run _finalize_add twice
Don't reference uninitialized conn in finally block

If we failed to get a connection, the finally block
would try to reference an uninitialized variable
Log unhandled exceptions in scheduled tasks
Check that conn is not None before closing
Ensure reconnector is started on failed node add

Because the node was still marked down, the reconnector
would not be started when we failed to add a connection pool for a
recently added node.
Increase delay before connecting to new nodes