BUG: Fix bug with symmetric difference of two equal MultiIndexes GH12490
- [x] closes #13490
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Fixes a bug where the symmetric difference of two equal MultiIndexes would raise a TypeError. MultiIndex used to use the `Index.symmetric_difference`. With this PR it it's own implementation that is more like `MultiIndex.difference`.

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13504?src=pr) is **84.34%**

> Merging [#13504](https://codecov.io/gh/pydata/pandas/pull/13504?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13504   diff @@
==========================================
  Files           138        138          
  Lines         51107      51122    +15   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43103      43117    +14   
- Misses         8004       8005     +1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last updated by [bf4786a...8cb445f](https://codecov.io/gh/pydata/pandas/compare/bf4786a15f51d14ccf1318e44ae080868d8595ee...8cb445fec5f51eb5f3de65ea319f9c4643554172)
 If Travis passes again I think I got all your comments fixed
- [x] Move whatsnew
- [x] Move tests to test_multi.py
- [x] Constructor for empty MultiIndex (`MultiIndex._create_as_empty(nlevels)`)
 can you rebase / update?
 closing, but pls reopen / comment if you can continue
