lchan: Introduce T3109 handling for the release procedure

T3109 is started when the SACCH is deactivated. It is stopped when
the phones sends the DISC/UA/UM on LAPDm for the main signalling
link. In case of timeout the abnormal release procedure will be
initiated. Make sure to not issue the SACCH Deactivate twice to
avoid confusing the equipment.

This is still not fully spec compliant. In case of a timeout the
abnormal release handling will be started which involves starting
T3111+2. The error handling should be split out of the rf channel
release method, e.g. lchan_release should be called and check if
the channel release was already initiated.
diff --git a/openbsc/doc/channel_release.txt b/openbsc/doc/channel_release.txt
index bd707b4..c9cdfeb 100644
--- a/openbsc/doc/channel_release.txt
+++ b/openbsc/doc/channel_release.txt
@@ -61,7 +61,8 @@
 	* Release all SAPI's > 0 as local end (The BTS should send a
 	  REL_CONF a message)
 	* Send SACH Deactivate on SAPI=0 if required.
-	* It should start T3109 but it does not.
+	* Start T3109 (stop it when the main signalling link is disconnected)
+	  or when the channel released. On timeout start the error handling.
 	* abis_rsl.c schedules the RSL_MT_RF_CHAN_REL once all SAPI's are
 	  released and after T3111 has timed out or there is an error.