[Reviewer Andy] Fix bug in Timer C support breaking live tests

Andy

Can you review this fix please - it actually fixes two bugs in the handling of CANCEL failures ...

-   if we received a 200 OK response on the CANCEL transaction we now unlink the PJSIP CANCEL transaction from the UACTsx object so we don't mistake subsequent events as a failure
-   if we do end up building a 487 response to the INVITE transaction we remove the top via header so it gets correlated correctly by the downstream SIP node.

I've re-run the UTs (the existing tests don't really notice the difference because they weren't checking the Via headers) and have run the live tests on a private deployment.

Mike