When DBClientConnection is asked by a caller to run an exhaust query, it has logic to check that the remote node supports exhaust. This is implemented by running the "availableQueryOptions" command against the remote node. We should remove this logic from the internal client for a few reasons:
- Feature discovery has long been implemented based on the minWireVersion and maxWireVersion returned by the "hello" command on connection handshake. The "availableQueryOptions" command appears to be an outdated feature discovery mechanism that has been replaced by the wire version.
- Only the internal client uses "availableQueryOptions". Drivers do not. Therefore, the "availableQueryOptions" command can itself be removed once it is no longer used internally.
- All mongod versions going back to at least 3.0 support exhaust. Therefore, a 5.1 or 5.2 node will never have to communicate with a node that does not support exhaust. The check as to whether exhaust is supported is completely unnecessary.