allow MongoDB::BSON to decode without a MongoClient
remove BSON encoding from _Protocol
add note about code to be removed later from Collection
add _URI class
Switch MongoClient to use _URI to build connections

This replaces the long BUILD method with simple initialization based
on the MongoDB::_URI class.  The _Link class has changed to have all
parameters in the constructor, which simplifies usages.

The BUILD method loses support for replica sets, but this will be
replaced later when the cluster model and server selection are
implemented.
implement _Cluster, _Server and Role::_Client classes

These provide a first-draft of the cluster monitoring data model and
scanning algorithm.  Given a MongoDB::_URI, they build a model of
cluster membership that will be used for active monitoring and server
selection.

Periodic monitoring and selection are not yet implemented, however.
Starting work on CM spec test harness
mocked out some more of the harness
Passing some tests. Need to diagnose HostAddress array issue