Python 2 compatibility broke with 1.26 release
Motivation
----------
For some reason (probably due to a testing dependency) this did not show up in our tests:

```
$ rucio --version
Traceback (most recent call last):
  File "/opt/rucio/bin/rucio", line 71, in <module>
    from rucio.client import Client
  File "/opt/rucio/lib/rucio/client/__init__.py", line 20, in <module>
    from .client import Client  # noqa: F401
  File "/opt/rucio/lib/rucio/client/client.py", line 30, in <module>
    from rucio.client.accountclient import AccountClient
  File "/opt/rucio/lib/rucio/client/accountclient.py", line 38, in <module>
    from rucio.client.baseclient import BaseClient
  File "/opt/rucio/lib/rucio/client/baseclient.py", line 69, in <module>
    from rucio.common.extra import import_extras
  File "/opt/rucio/lib/rucio/common/extra.py", line 20, in <module>
    from typing import TYPE_CHECKING
ImportError: No module named typing
```


Modification
------------
Remove any typing imports for 1.26, add dependency to `typing` for 1.27 for python < 3.5


diff --git a/lib/rucio/common/extra.py b/lib/rucio/common/extra.py
index 9fb11d88f..45dc344fc 100644
--- a/lib/rucio/common/extra.py
+++ b/lib/rucio/common/extra.py
@@ -17,14 +17,9 @@
 # - Benedikt Ziemons <benedikt.ziemons@cern.ch>, 2021
 
 import importlib
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
-    from typing import List, Dict, Any
 
 
 def import_extras(module_list):
-    # type: (List[str]) -> Dict[str, Any]
     out = dict()
     for mod in module_list:
         out[mod] = None
['lib/rucio/common/extra.py']