lte (fixes #351): Handover failure improvements
This MR adds better modeling of handover failure in LTE, including the following enhancements:
- Addition of a handover failure state and accounting for RACH failures during handover
- Handling of three different cases of HANDOVER JOINING timeout using HANDOVER PREPARATION FAILURE.
- Handling of HANDOVER LEAVING timeout by adding the HANDOVER CANCEL message
- Split of previous LteEnbRrc::HandoverFailure trace into four separate traces due to different failure conditions
- Test cases for eight handover failure scenarios
Original patch (six commits) from Zoraze Ali's 'ho_failure' branch; Zoraze then asked Sachin Nayak to split the trace source and to add suitable tests.