BUG: Comparisons result in different dtypes for empty DataFrames #15077
 - [x] closes #15077 
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master | flake8 --diff``

## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/15115?src=pr) is 85.67% (diff: 100%)
> Merging [#15115](https://codecov.io/gh/pandas-dev/pandas/pull/15115?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will decrease coverage by **<.01%**

```diff
@@             master     #15115   diff @@
==========================================
  Files           145        145          
  Lines         51419      51417     -2   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
- Hits          44057      44054     -3   
- Misses         7362       7363     +1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [97fd744...a5ca359](https://codecov.io/gh/pandas-dev/pandas/compare/97fd7447ff54d8f964d057dbaad2b5caa362e24d...a5ca35941df8576d9e8d99c95b75761c3853998b?src=pr) Could you add the examples from #15077 as a test cases? Also a release not in whatsnew/0.20.txt. Thanks. Yep. Is tests/frame/test_operators.py the right place for the test?  I've added the test and a line in whatsnew/0.20.0.txt. Build test in progress. thanks!