Dtype checking in reshape.merge
There is a check (equivalent to)

```
elif (issubclass(lk.dtype.type, (np.integer, np.timedelta64, np.datetime64)) and
      issubclass(rk.dtype.type, (np.integer, np.timedelta64, np.datetime64))):
```

which I'm told is incorrect:

> this is not right, these should be in separate branches here, the datetime / timedeltas can be in a single elif clause.

https://github.com/pandas-dev/pandas/pull/23917#discussion_r236262558