Adding signal handler to allow clean exit of PCU

The signal handler will end the main loop, so clean exit is performed.

The allocated memory is dumped in order to detect memory leaks.

All talloc functions use tall_pcu_ctx context instead of NULL, to track
memory leaks.
diff --git a/src/sysmo_sock.cpp b/src/sysmo_sock.cpp
index 8d83ca2..390f3f6 100644
--- a/src/sysmo_sock.cpp
+++ b/src/sysmo_sock.cpp
@@ -37,6 +37,7 @@
 #include <gprs_bssgp_pcu.h>
 #include <pcuif_proto.h>
 
+extern void *tall_pcu_ctx;
 
 /*
  * SYSMO-PCU socket functions
@@ -219,7 +220,7 @@
 
 	state = pcu_sock_state;
 	if (!state) {
-		state = talloc_zero(NULL, struct pcu_sock_state);
+		state = talloc_zero(tall_pcu_ctx, struct pcu_sock_state);
 		if (!state)
 			return -ENOMEM;
 		INIT_LLIST_HEAD(&state->upqueue);