MINOR: filters: Add stream_filters structure to hide filters info

From the stream point of view, this new structure is opaque. it hides filters
implementation details. So, impact for future optimizations will be reduced
(well, we hope so...).

Some small improvements has been made in filters.c to avoid useless checks.
diff --git a/include/proto/filters.h b/include/proto/filters.h
index 8eaaf3a..4ed81a8 100644
--- a/include/proto/filters.h
+++ b/include/proto/filters.h
@@ -110,6 +110,14 @@
 struct flt_kw *flt_find_kw(const char *kw);
 void           flt_dump_kws(char **out);
 
+/* Helper function that returns the "global" state of filters attached to a
+ * stream. */
+static inline struct strm_flt *
+strm_flt(struct stream *s)
+{
+	return &s->strm_flt;
+}
+
 static inline void
 flt_set_forward_data(struct filter *filter, struct channel *chn)
 {
@@ -145,7 +153,7 @@
 	struct stream *s = chn_strm(chn);
 	struct filter *f;
 
-	list_for_each_entry(f, &s->strm_flt.filters, list) {
+	list_for_each_entry(f, &strm_flt(s)->filters, list) {
 		if (f == filter)
 			break;
 		FLT_NXT(f, chn) += len;
@@ -169,7 +177,7 @@
 	struct filter *f;
 	int before = 1;
 
-	list_for_each_entry(f, &s->strm_flt.filters, list) {
+	list_for_each_entry(f, &strm_flt(s)->filters, list) {
 		if (f == filter)
 			before = 0;
 		if (before)