bts: refuse to set invalid frame numbers

A valid GSM frame ranges from 0 to 2715647. When using
set_current_frame_number() to set the current frame number (source
usually is the layer 1 and below) we should not allow invalid frame
numbers.

Note: this also fixes FnTest which uses invalid frame numbers for
testsing.

Change-Id: Iaae31b370fababba975d419b0d20ac15618c296e
Related: OS#5198
diff --git a/tests/fn/FnTest.ok b/tests/fn/FnTest.ok
index be6400f..4884ca5 100644
--- a/tests/fn/FnTest.ok
+++ b/tests/fn/FnTest.ok
@@ -19,11 +19,11 @@
 bts: fn=42433
 rfn=42431 ==> fn=42431
 
-bts: fn=5219152
-rfn=42428 ==> fn=5219132
+bts: fn=509200
+rfn=42428 ==> fn=509180
 
-bts: fn=5219587
-rfn=42257 ==> fn=5218961
+bts: fn=509635
+rfn=42257 ==> fn=509009
 
 bts: fn=0
 rfn=42419 ==> fn=2715635
@@ -37,14 +37,14 @@
 bts: fn=23
 rfn=42390 ==> fn=2715606
 
-bts: fn=2715648
+bts: fn=2715647
 rfn=42431 ==> fn=2715647
 
 bts: fn=0
 rfn=42431 ==> fn=2715647
 
-bts: fn=2715648
-rfn=0 ==> fn=2715648
+bts: fn=2715647
+rfn=0 ==> fn=2630784
 
 bts: fn=0
 rfn=0 ==> fn=0