write-concern: add internal function mongoc_write_concern_has_gle()

This function will check to see if the write-concern requires sending
a "getlasterror" command to the server.
client: implement internal function mongoc_client_recv_gle().

This function will handle the details of receiving the OP_REPLY to
a "getlasterror" command. It will parse the resulting RPC and deal
with generating a proper bson_error_t.
cluster: automatically send "getlasterror" command based on write-concern.

If the write-concern dictates that a "getlasterror" command should be
sent, then pipeline the getlasterror after the RPC.

Caller is expected to call mongoc_client_recv_gle() to fetch the
response in the order of RPCs sent.
collection: use mongoc_client_recv_gle().