Read/write compile time safety is only necessary in the bindings now. Separated IWriteBinding from IReadBinding and added IReadWriteBinding. Added ICursorBinding. ReadPreferences is only set at binding level (not at IReadableNode anymore). ICluster, INode and IConnection are much simpler because they don't have read/write variants. There also no back pointers from IConnection to INode to ICluster. Added INodeConnection to represent a node/connection tuple in scenarios where we need to know the node the connection is to. All write operations take IWriteBinding parameters (not IReadWriteBinding). GetMoreConnectionStrategy is configured at the binding level and applies to all operations using that binding.