Split data-based synthesis tool from generic CIF/BDD related functionality
**Idea**
From https://gitlab.eclipse.org/eclipse/escet/escet/-/issues/269#note_1476211:
>>>
[...] I want to split the data-based synthesis tool into two parts:
* The reusable parts:
* The BDD to CIF conversion.
* The CIF to BDD conversion.
* The operations on BDDs, like reachability computations.
* The parts specific to data-based synthesis.
>>>
This should make it possible to reuse BDD representations of a CIF model for other tools (controller checker, CIF explorer, etc).
**Steps**
Current idea of the steps involved, and their progress:
* [x] Introduce new settings class to hold the settings. (!760)
* Normal/debug/warning output via settings class.
* Termination checking via setting class.
* Options via settings class.
* Other uses of app framework via settings class.
* [x] No need to register application with application framework for the unit tests. (!760)
* [x] Non-synthesis-specific parts should not be named for synthesis (e.g., `SynthesisVariable` to `CifBddVariable` or so).
* [x] `spec.Synthesis*` to `spec.CifBdd*`. (!765)
* [x] Reachability computations, precondition checker, location pointer manager, conversion to CIF/BDD, etc. (!769)
* [x] Remaining parts. (!771)
* [x] Split synthesis-related parts from non-synthesis-related parts:
* [x] Introduce `CifDataSynthesisResult` and move part of the `CifBddSpec` to it. (!769)
* [x] Remaining parts. (!771)
* [x] Move BDD-related parts to a new `org.eclipse.escet.cif.bdd` project. (!772)
Addresses #269.
issue