Free F1 UE data struct only on UE release
Before this commit, as visible in the handler of an F1 UE release, it can happen that we forward the RRC Release message to a UE and start the release timer, while also removing the F1 UE data (containing e.g., the CU UE ID). This can lead to asserts, since there might still be subsequent traffic for such UE during a short time, while the DU does not have the secondary UE ID stored anymore.
This commit changes the logic. It introduces function nr_mac_release_ue() that removes the UE at MAC and RLC, frees the F1 UE data, and sends the complete, after timing expiry. If the UE is out of sync, this function is used to free the UE immediately.
This fixes #685 (closed) and #698 (closed).