Fix createCollection tests for 2.5.x

Use 4096 for capped collection size instead of 100, since server rounds up to the nearest extent anyway. As of https://jira.mongodb.org/browse/SERVER-12794, the actual storage size is reported, so we can use and expect 4096.

Additionally, use dump_these_keys() to print collection options, so we don't need to worry about extra options or their order.
Do not test with a 2dsphere sparse index

Since we still test against 2.2.x, creating a 2dsphere index here would result in an index being created with an invalid plugin name.

This case also caused problems with other, unrelated tests that created 2d indexes, as they would fail with the following error: "Found pre-existing index { v: 1, key: { b: "2dsphere" }, name: "b_2dsphere", ns: "test.col1", sparse: true, 2dsphereIndexVersion: 2 } with invalid type '2dsphere'. Disallowing creation of new index type '2d'."
Fix typo in write API safe/w exception message
Expect safe/w exception message and write options in PHP-522 2.6 test
Fix collection being dropped in recovery mode test

This was introduced in 633f1dc9b592d4b6cda784aee4dbabd41a42821e.
Make recovery mode test portable for new write API

Add insert/delete stream callbacks. The legacy write API will use "log_query" for everything, due to append_getlasterror() in collection.c.
Skip PHP-569 tests for new write API

These are very specific to MongoLog output and the legacy write operations.
Make failover connection tests compatible with new write API

Change stream context logger to just print the server type, since other debug information is not relevant and this allows the expected output for old/new write APIs to be the same.
Merge pull request #587
PHP-880: Add Support for UPDATE Write API command
Skip on 5.2, stream_context_create only takes 1 argument
PHP-880: Add Support for DELETE Write API command
WS as per PR review