Fix MongoResultException reference when updating document property
PHP-708: Implement WriteConcernException for GLE errors

This also adds error checking for the GLE command itself, using the same function that findAndModify() uses to inspect the command response.

If the GLE response is successful, the write operation is considered to have failed if the "err" field is a non-empty string. Previously, we sourced the message and code from the "errmsg" and "n" fields, respectively, which was incorrect.
Change mongo_cursor_throw() to require exception class entry

Rather than infer the class entry (previously Cursor or CursorTimeout) from the error code, explicitly provide it. This makes it much easier to throw WriteConcernExceptions consistently (ensuring the host prefix and property are set) without having to anticipate error codes in GLE responses.