ussd: Add a test case, switch parsing to use a gsm48_hdr and len

The current USSD code is not doing any size checks, add a test
case to find out how easily we access the data out of bounds.
Begin to use the length in some places.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 14c8ca8..0166b4f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
 if ENABLE_TESTS
-SUBDIRS = timer sms
+SUBDIRS = timer sms ussd
 if ENABLE_MSGFILE
 SUBDIRS += msgfile
 endif