ENH: add 'asm8' to NaT
I was suprised to find that `NaT.asm8` does not exist though there is a valid nat form for `numpy.datetime64`.

This also adds tests for the asm8 behavior for a random sample of times and `NaT`

why is this needed? 
 ahh sorry I see u moved to _Timestamp
 lgtm, ping when green.
 Thank you!

One question I have about the `NaT` class heirarchy is the purpose for the `_NaT` class. It is only sublclassed by `NatType` and seems to add a few operations.
 the `_NaT` is a sub-class of `_Timestamp` class which is a `cdef` class so its purely a c-extension type. While `NaTType` and `Timestamp` are available to the python space (and the c-space).

The entire reason for this is that `datetime` is untimately sub-classes in c-land as its a python extension type.

@wesm original comment.

```
# This is PITA. Because we inherit from datetime, which has very specific
# construction requirements, we need to do object instantiation in python
# (see Timestamp class above). This will serve as a C extension type that
# shadows the python class, where we do any heavy lifting.
```
 I see, it appears cython doesn't give us a way to override the `tp_new` directly so we cannot create the overridden `__new___` with the correct signature. Thanks for explaining this.
 We are green!
 thank you sir!
