Sset connection status to closed on connection failure

Without this, reconnect attempts fail because the connection exists but isn't in clos[ed|ing] state.
Now both ways of reconnecting work, via callback and rescuing the error:

```ruby
def run
  AMQP.start(on_tcp_connection_failure: ->(s) { p :reconnecting; sleep 1; run }) do
    p :connected
  end
end

def run
  begin
    AMQP.start { p :connected }
  rescue
    p :reconnecting; sleep 1; run
  end
end
```