Implement numpy_helper functions directly in cython
cleanup unused bits of src/datetime.pxd

TL;DR this PR implements `get_datetime64_value`, `get_timedelta64_value`, and `get_datetime64_unit` directly in cython instead of getting them via C.  There is no performance penalty.  Weaning off of the src directory will make the build less of a hassle.

AFAICT the main reason why `get_datetime64_unit`, `get_datetime64_value`, and `get_timedelta64_value` (as well as `is_float_object`, is_datetime64_object`...) are implemented in numpy_helper.h and np_datetime.c is because cython/numpy does not make it easy to cimport the relevant symbols: https://github.com/pandas-dev/pandas/blob/master/pandas/_libs/src/numpy.pxd#L481

```
    # Cannot be supported due to ## ## in macro:
    # bint PyArray_IsScalar(object, verbatim work)
```

After some wrangling and [stackoverflowing](https://stackoverflow.com/questions/46015489/using-numpys-pyarray-isscalar-in-cython/46016420#46016420), I found a way to implement these directly in cython.  Importantly, the C code generated is functionally identical to the existing versions, so there shouldn't be a performance hit.

A big part of the diff comes from moving some declarations from np_datetime's pyx file to the pxd file.