logilab-astng #51924 reduce or remove circular imports and monkeypatching [open]

For now, there are a lot of circular imports and monkeypatching. Most modules import (directly or indirectly) a lot of stuff from __init__ which imports a lot of stuff from the modules. It should be possible clean up all that, but for now all the monkey patching in inference.py and protocols.py makes the situation quite confusing. So prior to this, we should find the right solution for the inference stuff

appeared in<not specified>
done in<not specified>
load left2.000
closed by<not specified>