Fix build warnings
Cleans up a whole bunch. Remaining offenders are:
- Parsers.pyx and tokenizer. Signed/unsigned hell, made worse by python/cython/c mixing.
- interval.pyx, not touched because large PR in progress in #27100.
- np_datetime.c and np_datetime_strings.c. These are linked into 15+ cython modules as extra object files, but they '#include <datetime.h>`, which expects only standalone modules, who properly init to do it. Kinda painful to fix, though it means each function is compiled and kept in memory 15 times.

Green and I think I've addressed all the comments. > np_datetime.c and np_datetime_strings.c. These are linked into 15+ cython modules as extra object files, but they '#include <datetime.h>`, which expects only standalone modules, who properly init to do it. Kinda painful to fix, though it means each function is compiled and kept in memory 15 times.

One more for my edification.  Is this because they are specified in setup.py, or because of cimports from np_datetime.pyx, or [...]?  How costly is the "compile and kept in memory 15 times"? > One more for my edification. Is this because they are specified in setup.py, or because of cimports 
> from np_datetime.pyx, or [...]? How costly is the "compile and kept in memory 15 times"?

I came across your comment in the file:
https://github.com/pandas-dev/pandas/blob/02b552d280f917c1a181fcfd956a2d01f0bd5462/pandas/_libs/tslibs/src/datetime/np_datetime.c#L339-L341

The issue is that it's supposed to be an independent cython/cpython module, and imported by other cython modules. Then it could call IMPORT, and a few other warnings would go away.

Instead these files are compiled into object files, and linked into each module that uses them. there's no crash because each module does call IMPORT, but the compiler can't see that.

I don't think compilation is an issue, because:
1. its not a large file
2. cython generates monstrosities, so any true c pales
3. On most dev machine, you have ccache, so (maybe, possibly) the compilation result is cached
4. depending on how  distutils compiles things, it's linked 15 times, but the object is the same dependency for all of them in the Makefile sense, so compiled only once/

as for memory waste it's 2019, so no not an issue.

In summary: more of a smell than a perf/resource issue.


 ok thanks