FAPI P5 Refactoring and unitary test creation
This MR separates the FAPI P5 messages from the nFAPI implementation into a separate library (nr_fapi_p5), with the future goal of also separating P7 into its own library, as well as separating the nFAPI NR/LTE implementations, in order to not all share the same files ( which causes us to need to compile LTE code when aiming to compile NR ).
Additionally, this MR also introduces some utility functions to the P5 messages ( copy, free, compare ), as well as unitary testing that tests the packing/unpacking ( making sure that what is packed matches what is unpacked "on the other side" ), and also tests the utility functions previously mentioned. The tests use randomized data where applicable.
This MR also addresses issues in the packing/unpacking for the DCI payload used in DL_TTI.request PDCCH PDU and UL_DCI.request PDCCH PDU which inverts the payload ( the inversion is required for the VNF to work with NVIDIA Aerial L1 ), it also adds a unitary test for the procedures related to the DCI payload, with a random payload length and data.