Don't use the matplotlib printer if matplotlib raises an exception

Fixes #2822.
Use \left [/(/{ \right ]/)/} for latex of lists, tuples and dicts

This makes them still work with the matplotlib.mathtext renderer, which
doesn't support matrices.
Fix latex doctests
Deprecate Basic.iter_basic_args
References added for PR #7308
Add support for format_spec to Float
UnXFAIL test_reals_fail
Merge pull request #7685 from skirpichev/misc

Misc fixes
Merge pull request #7707 from asmeurer/matplotlib_warning

Fix the matplotlib warnings
compare frozensets as Basic objects

It was wrongly being assumed that if a frozenset was encountered that
it was equal to the other frozen set. This caused arbitrary sorting
of args like Min(1,x) and Min(2,x) since they are both the same function
with a single frozenset argument...but the (1,x) should be less than the
(2,x). So rather than returning 0, the args of the frozenset(s) are
compared.
add unchanged function to pytest
move NS to pytest
check that all obj have __eq__ method
use the unchanged function in test suites

Some tests were modified to test what was more likely intended.

Some tests were marked with a skip to indicate that there is no
way to use the unchanged function to test that line because the
object doesn't support the func method.
add check for foo == foo tests in suite

If there is an inline comment at the end of such a test, the
test will not be flagged, e.g.

assert foo == foo  # quality: SKIP