Three possibilities for `flatten` in `TTree.pandas.df` (and other array-fetching functions with `outputtype=pandas.DataFrame)`):
* `True`: jagged arrays are turned into a `pandas.MultiIndex` and maintain their Numpyness
* `False`: jagged arrays are turned into a column of Python lists
* `None` (new): jagged arrays are excluded, overriding the `branches` parameter.
Note that `flatten=True` is the default for `TTree.pandas.df` and `flatten=False` is the default for other array-fetching methods with `outputtype=pandas.DataFrame`.
This version also fixes an uproot 2 → 3 migration bug in handling jagged arrays.