Handle Errno::ENETUNREACH socket errors

One of the nodes in our MongoDB replica set went down and Errno::ENETUNREACH errors were being raised. These errors are not being caught in the handle_socket_errors method, so from what I understand, Mongoid was not able to mark the node as being down gracefully. Therefore, our app was only working sporadically when Mongoid was connecting to our other node.

This pull request simply adds support for handling Errno::ENETUNREACH errors in the handle_socket_errors method.