MEDIUM: make the trash be a chunk instead of a char *

The trash is used everywhere to store the results of temporary strings
built out of s(n)printf, or as a storage for a chunk when chunks are
needed.

Using global.tune.bufsize is not the most convenient thing either.

So let's replace trash with a chunk and directly use it as such. We can
then use trash.size as the natural way to get its size, and get rid of
many intermediary chunks that were previously used.

The patch is huge because it touches many areas but it makes the code
a lot more clear and even outlines places where trash was used without
being that obvious.
diff --git a/src/acl.c b/src/acl.c
index 30a6d2d..adc89f3 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -1308,9 +1308,9 @@
 	opaque = 0;
 	pattern = NULL;
 	args[1] = "";
-	while (fgets(trash, global.tune.bufsize, file) != NULL) {
+	while (fgets(trash.str, trash.size, file) != NULL) {
 		line++;
-		c = trash;
+		c = trash.str;
 
 		/* ignore lines beginning with a dash */
 		if (*c == '#')