Merge pull request #3509 from jreback/dup_columns2

BUG/CLN: Allow the BlockManager to have a non-unique items (axis 0)
BUG: GH3416 properly convert np.datetime64 objects in the _possibily_convert_datetimes
CLN: _possibily_convert_datetimes now uses to_datetimes internally
BUG: fixes GH3425, raising on passed invalid dtypes for datetimelike

     fixes GH2423, astyping is now checked when using datetimelike and timedeltalike
     for valid astype to dtypes