Add support for routing table specific TestKit messaged (retrieving routing tables and forcing updates)
Improve logging in the TestKit backend (all logs-driver and bolt-got both to stdout and TestKit) for easier debugging
Overhaul how/when the driver drops servers from the cached routing table:
Move logic of deactivating servers on failures into the pool. This functionality should not only be present when using transaction functions.
Drop writers on certain error codes: Neo.ClientError.Cluster.NotALeader and Neo.ClientError.General.ForbiddenOnReadOnlyDatabase
To simplify the code and avoid deadlocks or inconsistent driver states, both pool and router use blocking locks now. However, they will never perform IO while holding the lock removing the need for lock acquisition timeouts.
Neo.ClientError.Cluster.NotALeader
andNeo.ClientError.General.ForbiddenOnReadOnlyDatabase
Depends on: