Problem Summary
Running `explain` on an aggregation command does not support specifying `:verbosity` (e.g. 'queryPlanner', 'executionStats', or 'allPlansExecution').
Proposal
Let's update the `Aggregation::Behavior#explain` method so that if it is given a verbosity option, it switches to use the `explain` command, instead of using the `explain` option in the `aggregate` command.
Problem Description
The `Aggregation::Behavior` module overrides the `#explain` method so that it only sets `explain: true`, and does not accept any options. This is because we are using the `explain` option in the aggregate command itself, which must be a boolean and does not support any verbosity options. (See https://www.mongodb.com/docs/manual/reference/command/aggregate/#syntax).
This is unfortunate because the `#explain` method on collections does support the verbosity options. This results in confusion when a user expects the API to work consistently across both views (collection and aggregation).
The collection `#explain` method uses the `explain` command: (https://www.mongodb.com/docs/manual/reference/command/explain/).