PHP-1035: New MongoDB::command() argument to collect server hash

The options array (second argument) may now be null, which is convenient if the user has no options but would still like to collect the server hash.
PHP-1035: Use command() hash arg instead of $php meta field
Additional tests for command() $options argument
Merge pull request #639
PHP-1033: Organize third-party code and license information.
Merged pull request #646
PHP-1038: Do not allocate zval to set command cursor batchSize
Merge pull request #641
PHP-1034: Ensure MongoCommandCursor implements Iterator interface properly.
Merged pull request #645
PHP-1040: MongoCommandCursor::key() should not return _id field

This also updates aggregateCursor() tests to log query/getmore requests. New tests were added for getmores due to limit/batchSize relations, as well as an error test case for invalid batchSize options.
Add missing "proto" in MongoCommandCursor methods
Merge pull request #644
PHP-1041: Fix off-by-one error in MongoCommandCursor::key() indexes

The first result document should have index 0, not -1.
Merge pull request #644
PHP-1031: Implement MongoWriteBatch method to return current batch size

Added MongoWriteBatch->getItemCount() returning how many items are total
Added MongoWriteBatch->getBatchInfo() retrieving how many items are
in individual batch and its size (in bytes)
Don't throw exceptions on argument failures, as per cr feedback
Merge pull request #640 from bjori/PHP-1031-write-batch-metadata

PHP-1031: Implement MongoWriteBatch method to return current batch size

* bjori/PHP-1031-write-batch-metadata:
  Don't throw exceptions on argument failures, as per cr feedback
  PHP-1031: Implement MongoWriteBatch method to return current batch size
Fixed cursor iteration when first batch is 0 and cursor is constructed through constructor.
Fix comment grammar in aggregateCursor tests