Properly dispatch connection/channel errors
Driver failover and other conformance enhancements

• Support failover during connection. A list of host/ports can be specified in the URL and each is tried in turn
• Support "readOnly" connection parameter
• Migrated unit tests from original project