cluster: never send a message larger than isMaster.maxMessageSize.
database: add mongoc_database_has_collection().

This function can be used to check to see if the MongoDB server knows
about a particular collection name.

Be careful using this, however, as it could be racey. Another client
could race to insert the first document into a collection, etc.

This is performed by sending a query to "system.namespaces".

If FALSE is returned, you should also check to see if error.domain is set
to disambiguate between a failure and no-existance.
collection: add test to query using regex.
cluster: enforce supported wire versions when connecting to MongoDB.

With the new write commands starting in 2.5.x, we need to negotiate
the wire protocol version of the driver<->server. During isMaster,
this will check the versions and fail the connection if we cannot
speak an overlapping wire version.

Fixes CDRIVER-245.
cluster: stub out check for wire version.