api: refactor the SWHRemoteAPI's exception class handling
- add a default implementation of the exception class
- make the exception class a class attribute of SWHRemoteAPI that can be overloaded at instanciation time by the api_exception named argument
- so the api_exception positional argument of SWHRemoteAPI becomes a named argument
WARNING: This later point does break compatibility for any use of this class not using named arguments when instanciating it. Fortunately, as far as I know, every swh packages does use named argument when instanciating this class, so this should not break anything.
Migrated from D1261 (view on Phabricator)