MINOR: sample: use smp_make_rw() in upper/lower converters

There's no point in always duplicating the sample, just ensure it's
writable, as was done prior to the smp_dup() change. This should be
backported to 1.6 to avoid a performance regression caused by this
change (about 30% more time for upper/lower due to the copy).
diff --git a/src/sample.c b/src/sample.c
index e0a880e..77cbd1b 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -1474,12 +1474,9 @@
 {
 	int i;
 
-	if (!smp_dup(smp))
+	if (!smp_make_rw(smp))
 		return 0;
 
-	if (!smp->data.u.str.size)
-		return 0;
-
 	for (i = 0; i < smp->data.u.str.len; i++) {
 		if ((smp->data.u.str.str[i] >= 'A') && (smp->data.u.str.str[i] <= 'Z'))
 			smp->data.u.str.str[i] += 'a' - 'A';
@@ -1491,10 +1488,7 @@
 {
 	int i;
 
-	if (!smp_dup(smp))
-		return 0;
-
-	if (!smp->data.u.str.size)
+	if (!smp_make_rw(smp))
 		return 0;
 
 	for (i = 0; i < smp->data.u.str.len; i++) {