Array support for np.datetime64 and np.timedelta64

This includes support for the basic arithmetic ufuncs.
It also augments ufunc testing with more values (including interesting ones such as 0 or NaN), and fixes a couple buglets found when doing so.

(this is part of issue #499)
Is this a limitation due to:
- replicate NumPy behavior
- right now we only support this case
- we want to constraint better than NumPy, and it makes no sense otherwise