CONTRIB: spoa_example: remove last dependencies on type "sample"

Being an external agent, it's confusing that it uses haproxy's internal
types and it seems to have encouraged other implementations to do so.
Let's completely remove any reference to struct sample and use the
native DATA types instead of converting to and from haproxy's sample
types.
diff --git a/contrib/spoa_example/include/spoe_types.h b/contrib/spoa_example/include/spoe_types.h
index b5abf39..c3b297f 100644
--- a/contrib/spoa_example/include/spoe_types.h
+++ b/contrib/spoa_example/include/spoe_types.h
@@ -218,6 +218,24 @@
 	SPOE_DATA_TYPES
 };
 
+/* a memory block of arbitrary size, or a string */
+struct chunk {
+	char   *ptr;
+	size_t  len;
+};
+
+/* all data types that may be encoded/decoded for each spoe_data_type */
+union spoe_data {
+	bool            boolean;
+	int32_t         int32;
+	uint32_t        uint32;
+	int64_t         int64;
+	uint64_t        uint64;
+	struct in_addr  ipv4;
+	struct in6_addr ipv6;
+	struct chunk    chk;     /* types STR and BIN */
+};
+
 /* Masks to get data type or flags value */
 #define SPOE_DATA_T_MASK  0x0F
 #define SPOE_DATA_FL_MASK 0xF0