[CLN] [BLD] Fix many compiler warnings
Checked in OSX in 2.7 and 3.7, on Ubuntu on 2.7 and 3.5, this fixes just about all the warnings that are fixable at my pay-grade.

The ones that are left:

- Ubiquitous `NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION` --> I expect there is a compiler flag that can be set in setup.py to silence this (and only this) warning, haven't figured it out.
- In Py3.7:
```
pandas/_libs/src/ujson/python/objToJSON.c:430:15: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers
      [-Wincompatible-pointer-types-discards-qualifiers]
        char *data = PyUnicode_AsUTF8AndSize(obj, &len);
              ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pandas/_libs/src/ujson/python/objToJSON.c:436:14: warning: 'PyUnicode_EncodeUTF8' is deprecated [-Wdeprecated-declarations]
    newObj = PyUnicode_EncodeUTF8(PyUnicode_AS_UNICODE(obj),
             ^
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/unicodeobject.h:1324:7: note: 'PyUnicode_EncodeUTF8' has been
      explicitly marked deprecated here
    ) Py_DEPRECATED(3.3);
      ^
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/pyport.h:493:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                     ^
3 warnings generated.
```
- On Linux:
```
In file included from pandas/_libs/src/datetime/np_datetime.h:21:0,
                 from pandas/_libs/src/datetime/np_datetime_strings.c:33:
/usr/include/python3.5m/datetime.h:191:25: warning: ‘PyDateTimeAPI’ defined but not used [-Wunused-variable]
 static PyDateTime_CAPI *PyDateTimeAPI = NULL;
```
- Also on Linux a bunch of "this may be unitialized" warnings.