Unary plus feature
 - [ x] closes #16073  
 - [ x] tests added / passed
 - [ x] passes ``git diff upstream/master --name-only -- '*.py' | flake8 --diff``
 - [ x] whatsnew entry

Thanks for the feedback! I made a lot of embarrassing small mistakes in this pull request that I'll fix and resubmit.

Regarding the concern about which values the `+` operator should be defined for, why not simply define it for the widest range of values possible. It should be the responsibility of the user to ensure that their operator works correctly. This is consistent with the current implementation of `__neg__`. 

Ideally `np.array` will be fixed and this entire point will be moot.

 > I'll fix and resubmit.

Just in case you don't know, for resubmitting, you just have to push to the same branch and this PR will be updated (no need to submit a new PR) > no need to submit a new PR

That's a bit of an issue. I was messing around and really broke that branch so I made a new one. 

I will definitely keep that in mind in the future and for now I'll link to the new branch in this thread when I submit the new PR. Hopefully it won't be too confusing if anyone looks in this thread later You can rename your branch locally to the original name, that will work as well to update this PR I attempted to rename the branch but something went wrong. The new PR is here: https://github.com/pandas-dev/pandas/pull/16106

Sorry for the inconvenience.