Only ignore a whitelist of acceptable errors.
Use `addTest` instead of `addTests`, because the former can take a `TestCase` (which `_FailedTest` is a subclass of) or a `TestSuite`, whereas the latter expected an iterable object (i.e a `TestSuite` or a list of `TestCase`)
This will help us detect some unexpected errors, and provide us with a useful error message to debug it. For instance, intentionnaly raising an error in the main context of a module that is imported by an `__init__.py` produces this output:
```
$ python electrum/test_runner.py
Testing `setup.py --version`: OK
........................................................................................................................................................................................................................s.........s.........s..................................E......
======================================================================
ERROR: electrumabc_gui.qt (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: electrumabc_gui.qt
Traceback (most recent call last):
File "/usr/lib/python3.10/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/usr/lib/python3.10/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/__init__.py", line 86, in <module>
from .exception_window import ExceptionHook
File "/home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/exception_window.py", line 46, in <module>
from .main_window import ElectrumWindow
File "/home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/main_window.py", line 88, in <module>
from . import address_dialog, external_plugins_window, qrwindow
File "/home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/address_dialog.py", line 33, in <module>
from .history_list import HistoryList
File "/home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/history_list.py", line 46, in <module>
raise ImportError("spam spam spam spam spam")
ImportError: spam spam spam spam spam
----------------------------------------------------------------------
Ran 278 tests in 9.094s
FAILED (errors=1, skipped=3)
```
Depends on D14261