THRIFT-4085: refresh docker for dotnet 2.0.3, add dart 1.24.2 to artful image

This closes #1415
diff --git a/build/docker/README.md b/build/docker/README.md
index dd0b178..10a7a76 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -145,9 +145,9 @@
 | c_glib    | 2.40.2        | 2.48.2        | 2.54.0        |       |
 | cocoa     |               |               |               | Not in CI |
 | d         | 2.070.2       | 2.073.2       | 2.076.0       |       |
-| dart      | 1.20.1        | 1.24.2        |               | artful: apt repo not compatible with apt 1.4? |
+| dart      | 1.20.1        | 1.24.2        | 1.24.2        |       |
 | delphi    |               |               |               | Not in CI |
-| dotnet    |               | 2.0.0         |               | Needs to be added to artful |
+| dotnet    |               | 2.0.3         |               | Needs to be added to artful |
 | erlang    | R16B03        | 18.3          | 20.0.4        |       |
 | go        | 1.2.1         | 1.6.2         | 1.8.3         |       |
 | haskell   | 7.6.3         | 7.10.3        | 8.0.2         |       |
diff --git a/build/docker/ubuntu-artful/Dockerfile b/build/docker/ubuntu-artful/Dockerfile
index 523fc36..756209d 100644
--- a/build/docker/ubuntu-artful/Dockerfile
+++ b/build/docker/ubuntu-artful/Dockerfile
@@ -16,8 +16,6 @@
 # - cpp: stock boost 1.62 in artful has a nasty bug so we use stock boost 1.63
 # - d: does not come with Ubuntu so we're installing the latest
 # - d: deimos for libevent and openssl omitted - not compatible / build errors
-# - dart: dart repository doesn't work with apt 1.4 in artful
-# - dotnetcore, because netcore is for 1.0.0-preview and 2.0.0 is out
 # - haxe: see THRIFT-4352, but test/haxe cores during testing
 #         and hxcpp 3.4.64 is not compatible with artful
 #
@@ -41,9 +39,9 @@
 # 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
 
-# dotnet (core) 2.0.0 - project isn't ready for this yet:
-# RUN 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
+# dotnet (core)
+RUN 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-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list
 
 # node.js (this step runs apt-get update internally) - if we ever want a later version
 RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
@@ -106,19 +104,23 @@
 #     mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
 #     rm -rf openssl-master
 
-# dart is disabled because the repository won't sync properly with apt 1.4
+# dart cannot be downloaded by aptitude because of
+# https://github.com/dart-lang/sdk/issues/30512
 # 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 > /etc/apt/sources.list.d/dart_stable.list && \
 #     apt-get update && \
 #     apt-get install -y --no-install-recommends \
 #       `# Dart dependencies` \
 #       dart
-# ENV PATH /usr/lib/dart/bin:$PATH
+# so instead we do:
+RUN wget https://storage.googleapis.com/dart-archive/channels/stable/release/latest/linux_packages/dart_1.24.2-1_amd64.deb && \
+    dpkg -i dart_1.24.2-1_amd64.deb && \
+    rm dart_1.24.2-1_amd64.deb
+ENV PATH /usr/lib/dart/bin:$PATH
 
-# project isn't ready for this quite yet:
-# RUN apt-get install -y --no-install-recommends \
-# `# dotnet core dependencies` \
-#       dotnet-sdk-2.0.0
+RUN apt-get install -y --no-install-recommends \
+`# dotnet core dependencies` \
+      dotnet-sdk-2.0.3
 
 RUN apt-get install -y --no-install-recommends \
 `# Erlang dependencies` \
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index 255b6e8..c640bd9 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -45,7 +45,7 @@
 # since ubuntu-artful can't run dart, we'll run 1.240 on xenial for now
 ENV DART_VERSION 1.24.2-1
 
-# dotnet (core) 2.0.0
+# dotnet (core)
 RUN 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
 
@@ -121,7 +121,7 @@
 
 RUN apt-get install -y --no-install-recommends \
 `# dotnet core dependencies` \
-      dotnet-sdk-2.0.0
+      dotnet-sdk-2.0.3
 
 RUN apt-get install -y --no-install-recommends \
 `# Erlang dependencies` \