ENH: Move any/all to NDFrame, support additional arguments for Series. GH8302

closes #8302

- Move any/all implementations from DataFrame to NDFrame, adding support for Series
- Special case single dimension case in NDFrame, to handle numpy.any/all specific arguments
- Add assorted NotImplementedErrors in cases where arguments are ignored (including in preexisting _reduce functions)
- Move the other any/all implementations from IndexOpsMixin to Index, outside of Series’ inheritance tree
Here, too, the existing implementation assumes axis 0 regardless of what the user specified. If the user specifies a different axis it might be nice to raise an exception to tell them that their request can't be supported.

For a Series, I imagine axis 0 is generally the standard axis for aggregation.