added support for accessing getLastError document.

new: mongoc_collection_get_last_error().
Documentation added.
Related to: https://jira.mongodb.org/browse/CDRIVER-295
build: bump libbson for bson_clear().
collection: followup api cleanup for mongoc_collection_get_last_error().

This patches changes the semantics a bit of Maga's patch for
mongoc_collection_get_last_error(). It uses the new bson_clear() macro
to clear the value of collection->gle where appropriate. Previously,
it was not setting the value to NULL after destroying.

Additionally, we remove the concept of collection from the mongoc_client_t
code and simply use an output parameter for the document. This may be useful
for situations like gridfs or database if we want to directly communicate
with the client layer.

The return value from mongoc_collection_get_last_error() is now a const,
and we rely on the caller to copy. This let's us avoid extra copies unless
they are necessary by the caller.