PHP-914: ->aggregate() needs explain facility

Add support for additional $options array when using a single array of pipelines

$pipeline = array('$operator' => stuff);
Previously the proto for this function was:
->aggregate($pipeline [, $pipeline [, $pipeline]])
or
->aggregate(array($pipeline, $pipeline, $pipeline))

Now we support also:
->aggregate(array($pipeline, $pipeline, $pipeline), array("option" => "value"));

This makes it possible to pass arbitrary arguments to ->aggregate(), such as:
- array("explain" => true)
- array("maxTimeMS" => 100)
Added support for maxTimeMS option for aggregate
Skip these on pre2.6
Improve zpp readability as per review
Use configureFailPoint() in maxTimeMS tests
Rename tests for consitency
Merge pull request #627 from bjori/PHP-aggregate-helper-fixes

PHP-1028: Add $options support to ->aggregate()

* bjori/PHP-aggregate-helper-fixes:
  Rename tests for consitency
  Use configureFailPoint() in maxTimeMS tests
  Improve zpp readability as per review
  Skip these on pre2.6
  Added support for maxTimeMS option for aggregate
  PHP-914: ->aggregate() needs explain facility
PHP-1019: Empty Batch Insert should throw exception
Merge pull request #621 from bjori/PHP-1019-throw-exception-on-empty-batch

PHP-1019: Empty Batch Insert should throw exception

* bjori/PHP-1019-throw-exception-on-empty-batch:
  PHP-1019: Empty Batch Insert should throw exception
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)