Update language levels, fix erlang and rust in CI

- Include rebar3 in docker image so erlang builds in CI
- Include the correct path in docker image so rust builds in CI
- Updated common lisp (sbcl) to 1.5.3 in docker image
- Updated dlang to 2.087.0 in docker image
- Updated dart to 2.0.0 in xenial docker image
- Updated dart to 2.4.0 in bionic docker image
- Updated erlang to 22.0 in docker image
- Updated openjdk to 11.0.3 in docker image
- Updated node.js to 10.16 in docker image
- Updated rust to 1.34.0 in xenial docker image
- Updated rust to 1.35.0 in bionic docker image

THRIFT-4905: Disable hanging experimental dlang async ssl test
diff --git a/build/docker/README.md b/build/docker/README.md
index ce79985..7bbf001 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -167,31 +167,31 @@
 
 | Language  | ubuntu-xenial | ubuntu-bionic | Notes |
 | :-------- | :------------ | :------------ | :---- |
-| as of     | Mar 06, 2018  | Jan 21, 2019  |       |
+| as of     | Mar 06, 2018  | Jul 1, 2019   |       |
 | as3       |               | 4.6.0         |       |
-| C++ gcc   | 5.4.0         | 7.3.0         |       |
+| C++ gcc   | 5.4.0         | 7.4.0         |       |
 | C++ clang | 3.8           | 6.0           |       |
 | C# (mono) | 4.2.1.0       | 4.6.2.7       |       |
-| c_glib    | 2.48.2        | 2.56.0        |       |
-| cl (sbcl) |               | 1.4.15        |       |
-| d         | 2.075.1       | 2.083.1       |       |
-| dart      | 1.24.3        | 2.1.0         |       |
+| c_glib    | 2.48.2        | 2.56.4        |       |
+| cl (sbcl) |               | 1.5.3         |       |
+| d         | 2.075.1       | 2.087.0       |       |
+| dart      | 2.0.0         | 2.4.0         |       |
 | delphi    |               |               | Not in CI |
-| dotnet    | 2.1.503       | 2.2.103       |       |
-| erlang    | 18.3          | 20.2.2        |       |
-| go        | 1.7.6         | 1.11.4        |       |
+| dotnet    | 2.1.503       | 2.2.300       |       |
+| erlang    | 18.3          | 22.0          |       |
+| go        | 1.10.8        | 1.12.6        |       |
 | haskell   | 7.10.3        | 8.0.2         |       |
 | haxe      | 3.2.1         | 3.4.4         | THRIFT-4352: avoid 3.4.2 |
-| java      | 1.8.0_191     | 1.8.0_191     |       |
+| java      | 1.8.0_191     | 11.0.3        |       |
 | js        |               |               | Unsure how to look for version info? |
-| lua       | 5.2.4         | 5.2.4         | Lua 5.3: see THRIFT-4386 |
-| nodejs    | 6.16.0        | 8.15.0        |       |
+| lua       |               | 5.2.4         | Lua 5.3: see THRIFT-4386 |
+| nodejs    | 6.16.0        | 10.16.0       |       |
 | ocaml     |               | 4.05.0        | THRIFT-4517: ocaml 4.02.3 on xenial appears broken |
 | perl      | 5.22.1        | 5.26.1        |       |
-| php       | 7.0.32        | 7.2.10        |       |
-| python    | 2.7.12        | 2.7.15rc1     |       |
-| python3   | 3.5.2         | 3.6.7         |       |
+| php       | 7.0.32        | 7.2.19        |       |
+| python    | 2.7.12        | 2.7.15        |       |
+| python3   | 3.5.2         | 3.6.8         |       |
 | ruby      | 2.3.1p112     | 2.5.1p57      |       |
-| rust      | 1.35.0        | 1.35.0        |       |
+| rust      | 1.34.0        | 1.35.0        |       |
 | smalltalk |               |               | Not in CI |
 | swift     |               | 4.2.1         |       |
diff --git a/build/docker/ubuntu-bionic/Dockerfile b/build/docker/ubuntu-bionic/Dockerfile
index b508b1e..2c0609e 100644
--- a/build/docker/ubuntu-bionic/Dockerfile
+++ b/build/docker/ubuntu-bionic/Dockerfile
@@ -12,13 +12,7 @@
 
 #
 # Apache Thrift Docker build environment for Ubuntu Bionic
-# Using all stock Ubuntu Bionic packaging except for:
-# - cl: want latest
-# - d: dmd does not come with Ubuntu
-# - dart: does not come with Ubuntu - we use 2.x here
-# - dotnet: does not come with Ubuntu
-# - go: want latest
-# - nodejs: want v8, bionic comes with v6
+# with some updated packages.
 #
 
 FROM buildpack-deps:bionic-scm
@@ -38,10 +32,6 @@
       software-properties-common \
       wget
 
-# csharp (mono) - if we ever want a later version
-# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
-#     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
-
 # Dart
 RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
     curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
@@ -53,9 +43,13 @@
     chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
     chown root:root /etc/apt/sources.list.d/microsoft-prod.list
 
+# erlang
+RUN wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add - && \
+    echo "deb https://packages.erlang-solutions.com/ubuntu bionic contrib" | tee /etc/apt/sources.list.d/erlang.list
+
 # node.js
 RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-    echo "deb https://deb.nodesource.com/node_8.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
+    echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
 
 ### install general dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -99,7 +93,7 @@
 `# csharp (mono) dependencies` \
       mono-devel
 
-ENV SBCL_VERSION 1.4.15
+ENV SBCL_VERSION 1.5.3
 RUN \
 `# Common Lisp (sbcl) dependencies` \
     curl --version && \
@@ -111,8 +105,8 @@
     cd .. && \
     rm -rf sbcl*
 
-ENV D_VERSION     2.083.1
-ENV DMD_DEB       dmd_2.083.1-0_amd64.deb
+ENV D_VERSION     2.087.0
+ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
 RUN \
 `# D dependencies` \
     wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
@@ -128,7 +122,7 @@
     mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
     rm -rf deimos-openssl-1.1.0h
 
-ENV DART_VERSION 2.1.0-1
+ENV DART_VERSION 2.4.0-1
 RUN apt-get install -y --no-install-recommends \
       `# Dart dependencies` \
       dart=$DART_VERSION
@@ -140,20 +134,19 @@
 
 RUN apt-get install -y --no-install-recommends \
 `# Erlang dependencies` \
-      erlang-base \
-      erlang-eunit \
-      erlang-dev \
-      erlang-tools \
-      rebar
+      erlang && \
+    wget https://s3.amazonaws.com/rebar3/rebar3 -O /usr/bin/rebar3 && \
+    chmod 755 /usr/bin/rebar3 && \
+    rebar3 --version
 
 RUN apt-get install -y --no-install-recommends \
 `# GlibC dependencies` \
       libglib2.0-dev
 
 # golang
-ENV GOLANG_VERSION 1.12.1
+ENV GOLANG_VERSION 1.12.6
 ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec
+ENV GOLANG_DOWNLOAD_SHA256 dbcf71a3c1ea53b8d54ef1b48c85a39a6c9a935d01fc8291ff2b92028e59913c
 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
       echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
             tar -C /usr/local -xzf golang.tar.gz && \
@@ -258,6 +251,7 @@
 
 # Rust dependencies
 RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.35.0 -y
+ENV PATH /root/.cargo/bin:$PATH
 
 # Swift on Linux for cross tests
 RUN cd / && \
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index 119d4cd..8dc6497 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -14,7 +14,7 @@
 # Apache Thrift Docker build environment for Ubuntu Xenial
 # Using all stock Ubuntu Xenial packaging except for:
 # - d: does not come with Ubuntu so we're installing 2.075.1 for coverage
-# - dart: does not come with Ubuntu so we're installing 1.24.3 for coverage
+# - dart: does not come with Ubuntu so we're installing 2.0.0-1 for coverage
 # - dotnet: does not come with Ubuntu
 # - go: Xenial comes with 1.6, but we need 1.10 or later
 # - nodejs: Xenial comes with 4.2.6 which exits LTS April 2018, so we're installing 6.x
@@ -35,29 +35,29 @@
       apt-utils \
       curl \
       software-properties-common \
-      wget
+      wget && \
 
 # csharp (mono)
-# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
-#     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
+# echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
+#     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF && \
 
 # D
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
+    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
     wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
-    wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
+    wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - && \
 
 # Dart
-RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+    curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
     curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
-      /etc/apt/sources.list.d/dart_stable.list
+      /etc/apt/sources.list.d/dart_stable.list && \
 
 # dotnet (core)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
     echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
-      /etc/apt/sources.list.d/dotnetdev.list
+      /etc/apt/sources.list.d/dotnetdev.list && \
 
 # node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+    curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
     echo "deb https://deb.nodesource.com/node_6.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list
 
 ### install general dependencies
@@ -119,7 +119,7 @@
     mv openssl-1.1.6-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
     rm -rf openssl-1.1.6-1.0.1g
 
-ENV DART_VERSION 1.24.3-1
+ENV DART_VERSION 2.0.0-1
 RUN apt-get install -y --no-install-recommends \
 `# Dart dependencies` \
       dart=$DART_VERSION
@@ -151,7 +151,7 @@
       ln -s /usr/local/go/bin/go /usr/local/bin && \
       rm golang.tar.gz
 
-# due to a bug in cabal in xenial (cabal-install package) we pull in another:
+# cabal 1.22 in xenial is too old so we grab a pre-built 1.24 binary
 RUN apt-get install -y --no-install-recommends \
 `# Haskell dependencies` \
       ghc && \
@@ -160,7 +160,8 @@
     tar xzf cabal-install-1.24.0.2-x86_64-unknown-linux.tar.gz && \
     find dist-newstyle/ -type f -name cabal -exec mv {} /usr/bin \; && \
     rm -rf /tmp/cabal* && \
-    cabal --version
+    cabal --version && \
+    cabal update
 
 RUN apt-get install -y --no-install-recommends \
 `# Haxe dependencies` \
@@ -179,10 +180,11 @@
       openjdk-8-jdk \
       maven
 
-RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
-      lua5.2 \
-      lua5.2-dev
+# disabled: same as ubuntu-bionic jobs
+# RUN apt-get install -y --no-install-recommends \
+# `# Lua dependencies` \
+#       lua5.2 \
+#       lua5.2-dev
 # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
 # lua5.3 does not install alternatives so stick with 5.2 here
 
@@ -255,7 +257,7 @@
       ruby-bundler
 
 # Rust dependencies
-RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.35.0 -y
+RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.34.0 -y
 
 # Clean up
 RUN rm -rf /var/cache/apt/* && \