BCM OPI refactoring
Merge big refactoring on BCM OPI done by Mehdi. Branch was rebase to get the latest changes from upstream repo, so this MR should change only BCM related files. Extensively tested on BI lab, some issues might appear but I would suggest we go ahead with this new version and fix them later since the refactoring was really big and currenctly the OPI on the Main Control Room is very old with already many issues.