BUG: TDI.insert with empty TDI raising IndexError
This started out as a cosmetic-only branch and ended up finding a broken corner case.  The relevant change is in timedeltas L416 where `if self.freq is not None:` is now `if self.size and self.freq is not None:`

Using _check_compatible_with causes us to raise TypeError instead of ValueError in a couple of the DatetimeIndex.insert cases.