THRIFT-4295: rework the docker build images, updating them and tuning the travis builds

This closes #1340
diff --git a/lib/d/Makefile.am b/lib/d/Makefile.am
index 5c529ba..2a81218 100644
--- a/lib/d/Makefile.am
+++ b/lib/d/Makefile.am
@@ -177,7 +177,7 @@
 	touch $@
 
 unittest/debug/%: src/%.d $(all_targets) unittest/emptymain.d
-	$(DMD) -gc -of$(subst /,$(DMD_OF_DIRSEP),$@) $(d_test_flags) $^
+	$(DMD) -g -of$(subst /,$(DMD_OF_DIRSEP),$@) $(d_test_flags) $^
 
 unittest/release/%: src/%.d $(all_targets) unittest/emptymain.d
 	$(DMD) -O -release -of$(subst /,$(DMD_OF_DIRSEP),$@) $(d_test_flags) $^
diff --git a/lib/d/src/thrift/transport/http.d b/lib/d/src/thrift/transport/http.d
index c7d1f50..0e58dee 100644
--- a/lib/d/src/thrift/transport/http.d
+++ b/lib/d/src/thrift/transport/http.d
@@ -330,7 +330,7 @@
       "Host: " ~ host_ ~ "\r\n" ~
       "Content-Type: application/x-thrift\r\n" ~
       "Content-Length: " ~ to!string(dataLength) ~ "\r\n" ~
-      "Accept: application/x-thrift\r\n"
+      "Accept: application/x-thrift\r\n" ~
       "User-Agent: Thrift/" ~ VERSION ~ " (D/TClientHttpTransport)\r\n" ~
       "\r\n";
   }
diff --git a/lib/d/src/thrift/transport/socket.d b/lib/d/src/thrift/transport/socket.d
index 38b567a..228abf0 100644
--- a/lib/d/src/thrift/transport/socket.d
+++ b/lib/d/src/thrift/transport/socket.d
@@ -79,8 +79,8 @@
     version (none) assert(written <= buf.length, text("Implementation wrote " ~
       "more data than requested to?! (", written, " vs. ", buf.length, ")"));
   } body {
-    assert(0, "DMD bug? – Why would contracts work for interfaces, but not "
-      "for abstract methods? "
+    assert(0, "DMD bug? – Why would contracts work for interfaces, but not " ~
+      "for abstract methods? " ~
       "(Error: function […] in and out contracts require function body");
   }