BUG DOC TST: Allow __numpy_ufunc__ to handle multiple output ufuncs.

Added details about how the output variables are handled to the spec.
Also adds tests for ufuncs with multiple outputs.
Merge pull request #4171 from cowlicks/ufunc-override-out

BUG: Allow __numpy_ufunc__ to handle multiple output ufuncs.