PHP-880: New Write API - FINAL

NOTE: This PR is WIP. Its intentions are to make pretty commit history before it becomes unmanageable locally, and to go through peer-review before everything is finished.

There are some existing tests that still fail - mostly due to lack of MongoLog... entries (e.g. when adding options), and expected GLE return output - other failures are also due to missing implementation in the server.

Since this is pretty major feature, I'd appreciate an early review so the final review won't have to take a week.