feat(topology): introduce a single Topology type, and test runner
feat(topology): introduce a single Topology type, and test runner

This is the core definition of a single Topology type meant to
replace the existing `Mongos` and `Replset` types. It presently
passes all SDAM tests, however is not yet hooked up to use the
existing `Server` type for internal representation of servers.

NODE-1259

mongodb/node-mongodb-native,mongodb/node-mongodb-native,mongodb/node-mongodb-native,mongodb/node-mongodb-native