PHP-1256: Add MongoCommandCursor::timeout().

Test case not fully functional.
PHP-1256: MongoCommandCursor::timeout() functional test
Add a test that uses MongoCommandCursor directly, and add method to Reflection test.
Fixed arginfo - apparently it was never correct for MongoCursor either.
Merged pull request #796
Make sure needsmax actually works for replicasets.
Merged pull request #799
Make sure that with the code in this snippet, the log always gets saved.
Merged pull request #798
PHP-1350: Functional test for MongoClient connectTimeoutMS option
Merge pull request #797
PHP-1321: Handle cursor structure from mongod for listCollections.
Set proper version ranges for which these tests should work.
PHP-1321: Handle listCollections response from server >=2.7.5, <=2.8.0-RC2
Free zval before returning on error
Revert "Set proper version ranges for which these tests should work."

This reverts commit 045001082607069ae50f0a878d8c89e9c660c3c2.
PHP-1321: Handle cursor structure from mongod for listIndexes.
Initialise list later, to prevent memory leaks in case the command failed.