Use docker for all CI tests and images

Previously we were somewhat half-Docker, half-Travis, half apt-get, etc. This
commit alters the CI infrastructure to use Docker images for each target. This
should make it much easier to update the images and tweak various bits and
pieces of installed software. Additionally, it's also much clearer now what's
needed for each suite of tests!

Some images were updated a bit (e.g. musl is now 1.1.14), but other images
encountered failures when updating so they're not getting updated just yet.
diff --git a/ci/run-qemu.sh b/ci/run-qemu.sh
index 78da64a..70f312e 100644
--- a/ci/run-qemu.sh
+++ b/ci/run-qemu.sh
@@ -15,12 +15,9 @@
 cd /tmp/libc
 
 TARGET=$(cat $ROOT/TARGET)
+export CARGO_TARGET_DIR=/tmp
 
 case $TARGET in
-  *-freebsd)
-    sudo pkg install -y rust cargo
-    ;;
-
   *-openbsd)
     pkg_add rust curl gcc-4.8.4p4
     curl https://static.rust-lang.org/cargo-dist/2015-04-02/cargo-nightly-x86_64-unknown-openbsd.tar.gz | \