CLN: move assignment from header into cython
an insignificant refactoring that allows PyPy2.7  to build and import Pandas. The original code uses functions that are macros in CPython but actual c-functions in PyPy and one cannot assign to a function result

Note that while PyPy imports Pandas, it very quickly segfaults, Apparently PyPy does not yet play well with enough of Cython, I suspect strange interactions with tp_new and tp_deallocate
## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/14731?src=pr) is 85.21% (diff: 100%)
> Merging [#14731](https://codecov.io/gh/pandas-dev/pandas/pull/14731?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will increase coverage by **<.01%**

```diff
@@             master     #14731   diff @@
==========================================
  Files           143        143          
  Lines         50804      50804          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43292      43293     +1   
+ Misses         7512       7511     -1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [75b606a...ed1db95](https://codecov.io/gh/pandas-dev/pandas/compare/75b606abad51762b3faace1bbfa0a8d2241dc297...ed1db957ff9b50e44eeff05dd0813fd4a3afa2cc?src=pr) @jreback thanks, fixed thanks @mattip 