BUG: Fix appending when dtypes are not the same (error showing mixing float/np.datetime64) (GH4993)
Merge pull request #4995 from jreback/nat_append

BUG: Fix appending when dtypes are not the same (error showing mixing float/np.datetime64 (GH4993)
BUG: allow Timestamp comparisons on the left

Now tested with Series and DataFrame
TST: add scalar comparison test for numpy object with ndim == 0
BUG: convert 0d datetime64 arrays to Timestamp

You must convert to timestamp on the lhs comparison (or reverse the comparison)
for numpy <= 1.6
BUG: Timestamp compares to nat were inconsistent

For example

    Timestamp('now') > pd.NaT

should return the same result as

    pd.NaT < Timestamp('now')

but before this commit it didn't because when Timestamp was on the left, the
values were compared whereas if NaT is on the left then the truth values are
hard-coded based on rules like NaN.
ENH: use custom compare functions
more functions
CLN: make inline
CLN: move nat check