LCLS: add string dump helpers

Add functions to dump LCLS (without GCR) and GCR. Dumping entire struct
results in inconveniently long string hence the separate functions. Both
use talloc functions so they expect caller to take care of providing
proper allocation context and freeing memory.

Change-Id: Ic3609224c8f3282d667e75f68bc20327e36eb9e6
diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c
index 65fef53..af90d00 100644
--- a/tests/gsm0808/gsm0808_test.c
+++ b/tests/gsm0808/gsm0808_test.c
@@ -760,11 +760,12 @@
         }
 
 	if (!osmo_gcr_eq(&lcls_out->gcr, &lcls_in.gcr)) {
-		printf("GCR parsed wrong.\n");
+		printf("GCR parsed wrong:\n\t%s\n\t%s\n", osmo_gcr_dump(lcls_out), osmo_gcr_dump(&lcls_in));
                 abort();
         }
 
-	printf("\tdecoded %d bytes: %s\n", rc, rc == len ? "OK" : "FAIL");
+	printf("\tdecoded %d bytes: %s:\n%s\n", rc, rc == len ? "OK" : "FAIL", osmo_lcls_dump(lcls_out));
+	printf("\t%s\n", osmo_gcr_dump(lcls_out));
 	msgb_free(msg);
 }