SERVER-9339 do not query a node that is not in PRIMARY or SECONDARY state
SERVER-8813 Switch C++ client and shell code for SASL authentication to use the Cyrus SASL library.

Replaces gsasl implementation in clients.

Rolls up the following patches on the master branch:

2d8e9831979076e5f6a47895aedad80c8da10d4c
8324f6c8872f83404d811a69df91bf4df9ad2a62
16aba22e19a11749db4cf0e3f8075a9b4dbc4295
f58d431f45a0db9812e67641f429c692c3207201
89ca7f9d6f134e09241837edeb9b456d80f2abc9