libmsc: move subscriber expiration timer T3212 to libvlr

Since the split of OsmoNiTB, OsmoMSC does not deal with the radio
access network directly. Therefore the only purpose of T3212 is to
control subscriber expiration in the local VLR. The timeout value
indicated in System Information Type 3 needs to be configured
separately in the BSC/RNC.

This means that we don't need to store it in deci-hours anymore.
Let's move T3212 to the group of VLR specific timers, so it can
be configured and introspected using the generic 'timer' command,
and deprecate the old '[no] periodic location update' command.

It should be also noted that in the old code subscriber expiration
timeout was actually set to twice the T3212 value plus one minute.
After this change, we apply the configured value 'as-is', but
keep the old behaviour for 'periodic location update' command.

Change-Id: I9b12066599a7c834a53a93acf5902d91273bc74f
diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py
index f954b5d..2421144 100755
--- a/tests/vty_test_runner.py
+++ b/tests/vty_test_runner.py
@@ -198,17 +198,22 @@
         self.vty.verify("periodic location update 5", ['% Unknown command.'])
         self.vty.verify("periodic location update 1531", ['% Unknown command.'])
 
-        # Enable periodic lu..
-        self.vty.verify("periodic location update 60", [''])
+        depr_str = "% 'periodic location update' is now deprecated: " \
+                   "use 'timer T3212' to change subscriber expiration timeout."
+        set_str  = "% Setting T3212 to 121 minutes (emulating the old behaviour)."
+
+        # Enable periodic LU (deprecated command)
+        self.vty.verify("periodic location update 60", [depr_str, set_str])
         res = self.vty.command("write terminal")
-        self.assertTrue(res.find('periodic location update 60') > 0)
+        self.assertTrue(res.find('timer vlr T3212 121') > 0)
+        self.assertEqual(res.find('periodic location update 60'), -1)
         self.assertEqual(res.find('no periodic location update'), -1)
 
-        # Now disable it..
-        self.vty.verify("no periodic location update", [''])
+        # Now disable it (deprecated command)
+        self.vty.verify("no periodic location update", [depr_str])
         res = self.vty.command("write terminal")
-        self.assertEqual(res.find('periodic location update 60'), -1)
-        self.assertTrue(res.find('no periodic location update') > 0)
+        self.assertEqual(res.find('no periodic location update'), -1)
+        self.assertEqual(res.find('timer vlr T3212 121'), -1)
 
     def testShowNetwork(self):
         res = self.vty.command("show network")