Handle dead connections in a pool by closing the pool.

We likely could have more configurable and flexible approaches to dealing with dead connections, but for now the assumption that a dead connection means a dead host is likely good enough.
Re-adjust logic when getting a new connection in gremlin-driver.
Mark gremlin-driver connections as dead if the host is not responding.

If a connection is dead, try to reconnect in the background.