NaT.isoformat() returns 'NaT'.
NaT.isoformat() returning 'NaT' allows users to use Timestamp to
rehydrate any _Timestamp object from its isoformat. This means that it
is safe to use _Timestamp.isoformat() as a serialization format for
timestamps where NaT is a valid value.

I am not sure if this is actually a good change. NaT is not defined by iso so idk if this is misleading. I just wanted to raise the issue.
 this would change the way JSON serializes I think. IIRC its the only thing that uses `.isoformat` internally at least.
 @llllllllll this looks fine. pls rebase and well put in.
 build is passing, thanks!
 thanks @llllllllll 
