[MAJOR] http: implement body parser

The body parser will be used in close and keep-alive modes. It follows
the stream to keep in sync with both the request and the response message.
Both chunked transfer-coding and content-length are supported according to
RFC2616.

The multipart/byterange encoding has not yet been implemented and if not
seconded by any of the two other ones, will be forwarded till the close,
as requested by the specification.

Both the request and the response analysers converge into an HTTP_MSG_DONE
state where it will be possible to force a close (option forceclose) or to
restart with a fresh new transaction and maintain keep-alive.

This change is important. All tests are OK but any possible behaviour
change with "option httpclose" might find its root here.
diff --git a/include/proto/proto_http.h b/include/proto/proto_http.h
index 50d5957..f4a57a5 100644
--- a/include/proto/proto_http.h
+++ b/include/proto/proto_http.h
@@ -68,6 +68,8 @@
 int http_process_request_body(struct session *s, struct buffer *req, int an_bit);
 int http_wait_for_response(struct session *s, struct buffer *rep, int an_bit);
 int http_process_res_common(struct session *t, struct buffer *rep, int an_bit, struct proxy *px);
+int http_request_forward_body(struct session *s, struct buffer *req, int an_bit);
+int http_response_forward_body(struct session *s, struct buffer *res, int an_bit);
 
 void debug_hdr(const char *dir, struct session *t, const char *start, const char *end);
 void get_srv_from_appsession(struct session *t, const char *begin, int len);