If we were doing this all over the place I think that might make sense, but currently we're only calling that in two reasonably isolated places. 

Also, we're technically always pooling connections even when pool_size == 1 so a MongoClient#pooling? style method doesn't feel contextually correct to me. Using MongoClient#pool_size is arguably more explicit and clear in my opinion. Encapsulating that in a method would only add value here if we were trying to cut down on redundancies which we don't really have at the moment.

This change here was actually not part of my work. I was just cleaning up the if statements here.

I think when we rework the connection pool it and re-visit auth it would make sense to look at those types of optimizations. Right now though, the call chain between MongoClient, DB, and Pool for authentication is pretty crazy (in some cases almost circular) and there's very little about it that I think is done right.

For now... I'm just trying to achieve spec compliance.