Server description inspections in their own objects

Since the result of the ismaster command is the basis for a lot of checks for handling the state of a cluster, it made since to extract these out into their own objects so the description itself doesn't get a huge amount of logic checking all these things. I call them `Inspection`s for now since I didn't like `Check` or `Test`. 

cc/ @estolfo @samantharitter