clean up docstrings in sets
use ordered to handle Set args: define infimum_key

The sort_key is insufficient to differentiate between the arguments. I demonstrate by using an Interval and FiniteSet

```
>>> I = Interval(0, 5); S = FiniteSet(1, 2, 3)
>>> from sympy.core.compatibility import default_sort_key as k
>>> k(I)
((1, 0, 'Number'), (0, ()), (), 0)
>>> k(S)
((1, 0, 'Number'), (0, ()), (), 1)
```

This is because the infimum was being used sucessfully to (unsuccessfully) represent the objects being sorted. The better approach is to use ordered and let the infimum be the default sort key -- and thus fast if the infimums are sufficient to break ties -- else fall back to the default_sort_key for the object.

In addition, the sorting of args was done before the evaluation. I moved this to after the evaluation since those are the actual args that will be stored (and a quick glance at an evaluation routine didn't make it look like it assumed the arg were already sorted).
fix Partition docstrings [skip ci]

Tested locally

It appears that now these Partitions are being sorted as the docstring
states: by size and then according to the members in the sets.
change self to expr in staticmethod [skip ci]
change _sorted_args output to tuple
Merge pull request #7930 from smichr/7868

7868: fix Interval error in master