MEDIUM: checks: use real buffers to store requests and responses

Till now the request was made in the trash and sent to the network at
once, and the response was read into a preallocated char[]. Now we
allocate a full buffer for both the request and the response, and make
use of it.

Some of the operations will probably be replaced later with buffer macros
but the point was to ensure we could migrate to use the data layers soon.

One nice improvement caused by this change is that requests are now formed
at the beginning of the check and may safely be sent in multiple chunks if
needed.
diff --git a/src/haproxy.c b/src/haproxy.c
index 59496d0..00bf126 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1019,7 +1019,8 @@
 
 			free(s->id);
 			free(s->cookie);
-			free(s->check.buffer);
+			free(s->check.bi);
+			free(s->check.bo);
 			free(s);
 			s = s_next;
 		}/* end while(s) */