enb: Implement initial RF emulation API

Two implementations are provided:
* Amarisoft Ctrl interface (websocket)
* Mini-Circuits Programmable Attenuator (HW, HTTP API) [1]

in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl
interface one is used by default, while still being possible to use the
HW one.

[1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf

Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32
diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py
index 340ea3a..59b5bfe 100644
--- a/src/osmo_gsm_tester/obj/enb.py
+++ b/src/osmo_gsm_tester/obj/enb.py
@@ -113,6 +113,11 @@
     def ue_max_rate(self, downlink=True):
         pass
 
+    @abstractmethod
+    def get_rfemu(self, cell=0, dl=True):
+        'Get rfemu.RFemulation subclass implementation object for given cell index and direction.'
+        pass
+
     def addr(self):
         return self._addr