This commit removes the geoNear command and moves its implementation
into the aggregation framework. Users should use the aggregate command
with a $geoNear stage.
The implementation rewrite additionally removes the limit in the
$geoNear aggregation stage. To limit the number of results, use a $limit
stage.
Addresses the case where a time zone expression lives within a collection
validator as part of a $expr expression. In this case, the Expression
will outlive the OperationContext it was created under.