CLN: Resubmit of GH14700.  Fixes GH14554.  Errors other than Indexing…
…Error and KeyError now bubble up appropriately.

 - [x] closes #14554
 - [ ] tests added / passed (Not required per GH14700 discussion)
 - [x] passes ``git diff upstream/master | flake8 --diff``
 - [x] whatsnew entry

## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/14912?src=pr) is 84.57% (diff: 0.00%)
> Merging [#14912](https://codecov.io/gh/pandas-dev/pandas/pull/14912?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will not change coverage

```diff
@@             master     #14912   diff @@
==========================================
  Files           144        144          
  Lines         51057      51057          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
  Hits          43180      43180          
  Misses         7877       7877          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [f1cfe5b...458c0cc](https://codecov.io/gh/pandas-dev/pandas/compare/f1cfe5b4eb614f9b4e201e764e9bd25f2389b355...458c0cc0c56f8c50af9cbeb823b9d6e3433a396b?src=pr) so this is segfaulting (with the OP issue) on py3. any thoughts on this thanks!

note as per my comment above, this (and master and 0.19.1) segfault in python 3. not sure what if anything can do about that (they segfault because of the recursion). any ideas?