add abstract API to picking which "core" network setup (NITB or MSC+BSC) to use by scenario
After #2269, we have API to launch an OsmoNITB, and we have API to launch an OsmoBSC + OsmoMSC.
Consider this though: it would make sense to run the same SMS, voice etc. tests independently from whether an OsmoBSC+MSC or OsmoNITB is used.
For the resources like BTS and modems, we have the scenarios that allow picking various hardware for the same test runs.
But for the core network software launched, this is so far still explicit, for the very reason that a test should be able to start/stop/configure CN components in arbitrarily complex sequences.
It would be good to have the same powerful selection mechanism for the core network components, i.e. have an abstract API that can operate on both an OsmoNITB or an OsmoBSC + OsmoMSC "backend".
More specific tests should still be able to launch individual processes (have the choice to launch an OsmoBSC directly), but tests could choose to use an "abstract" core network that is then exchangeable between test run invocations using scenario configurations, without the need to write each test twice (once for NITB and once for MSC + BSC).