DEPR: Deprecate sort=None for union and implement sort=True
- [ ] progress towards #24471 
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This is a WIP pull request because I wanted to make sure I'm going in the right direction before continuing.

In #24959 it was agreed that the default for some of the set operations should be ``sort=None`` for backwards compatibility in 0.24.1. ``sort=None`` generally tries to sort in all cases _except_ when the two indices are equal or one of the indices is empty. This meant that in a future release we could introduce a proper ``sort=True`` which would try to sort in all cases and change the default to ``sort=False`` in all cases.

Are there any potential problems with this plan? 

In this PR I have started to deprecate ``sort=None`` for ``Index.union`` and to introduce ``sort=True``. ``sort=None`` is currently the default for this set operation so a ``FutureWarning`` will be given by default. I will make similar changes to the ``union`` method in all the index classes if this is the approach we want to take.