Implement npy_dtime.pyx
`npy_dtime` is a `util`-like module for `tslibs`.  Actually, a better analogy would be src/datetime.pxd (which it ultimately is intended to replace).

Upcoming steps require `_check_dts_bounds` and `OutOfBoundsDatetime` be in a module upstream from `tslib`.  The exception `OutOfBoundsDatetime` cannot be defined in a pxd file, so this can't just be shunted into src/datetime.pxd.

Using a .pyx file instead of a .pxd file is that dependency specification in setup.py gets less fragile.  After updating e.g. `tslibs.fields` to `cimport` from `npy_dtime`, it will no longer need `tseries_depends` and `pandas/_libs/src/datetime/np_datetime.c` etc in its `ext_data` entry.

This also implements two small convenience functions `dtstruct_to_dt64` and `dt64_to_dtstruct` that pass through to `pandas_datetimestruct_to_datetime` and `pandas_datetime_to_datetimestruct` respectively in the overwhelmingly-most-common case where `unit=PANDAS_FR_ns`.  To keep the footprint small this PR only demonstrates their usage in one location in `strptime`.  It's a lot less verbose, ultimately gets rid of a lot of unsightly wrapped lines.

