gprs: Add encoder/decoder for the Subscriber Update Protocol

This patch adds functions to encode and decode GSUP messages. This
does not include the layer 1 framing (IPA). The messages so far
supported are: send_auth_info_*, update_location_*,
location_cancellation_*.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/tests/gprs/gprs_test.ok b/openbsc/tests/gprs/gprs_test.ok
index 56d4b65..eda1f36 100644
--- a/openbsc/tests/gprs/gprs_test.ok
+++ b/openbsc/tests/gprs/gprs_test.ok
@@ -14,4 +14,14 @@
 N(U) = 481, V(UR) = 511 => retransmit
 N(U) = 479, V(UR) = 511 => new
 Test shift functions
+Test GSUP message decoding/encoding
+  Testing Send Authentication Info Request
+  Testing Send Authentication Info Error
+  Testing Send Authentication Info Result
+  Testing Update Location Request
+  Testing Update Location Error
+  Testing Update Location Result
+  Testing Location Cancellation Request
+  Testing Location Cancellation Error
+  Testing Location Cancellation Result
 Done.